我正试图将当前时间与其他5个时间作为时间表进行比较,但它不起作用。从数据库中获取日期下面是代码
$now = new DateTime();
$date1 = new DateTime($pRow['date1']);
$date2 = new DateTime($pRow['date2']);
date in database:date1: 12点日期2:03:25
if($now->format('h:i') >= $date1->format('h:i') && $now->format('h:i') <= $date2->format('h:i')){
echo "date2";
}
else{
echo "no";
}
结果总是没有(代码编辑是为了简单和更快地解决问题)
if($now >= $date5 && $now <= $date5)
数据有误
当使用h
修饰符表示时间时,您的工作时间只有1-12小时。这意味着下午2点只是2点,上午11点是11点。因此11> 2,这就打破了你的数学。用H
代替。
$now = date("H:i",strtotime("now"));
$date1 = date("H:i",strtotime($pRow['date1']));
$date2 = date("H:i",strtotime($pRow['date2']));
$date3 = date("H:i",strtotime($pRow['date3']));
$date4 = date("H:i",strtotime($pRow['date4']));
$date5 = date("H:i",strtotime($pRow['date5']));
或者,更好的是,使用可比较的DateTime。
$now = new DateTime();
$date1 = new DateTime($pRow['date1']);
$date2 = new DateTime($pRow['date2']);
$date3 = new DateTime($pRow['date3']);
$date4 = new DateTime($pRow['date4']);
$date5 = new DateTime($pRow['date5']);
这个代码已经在stackoverflow上了,尝试使用它:)
$ThatTime ="14:08:10";
if (time() >= strtotime($ThatTime)) {
echo "The Time that was entered is behind";
}