我试图将当前时间与其他5次作为时间表进行比较,但它无法正常工作。日期是从数据库中提取的,代码是
$now = new DateTime();
$date1 = new DateTime($pRow['date1']);
$date2 = new DateTime($pRow['date2']);
数据库中的日期: date1:12:00 date2:03:25
if($now->format('h:i') >= $date1->format('h:i') && $now->format('h:i') <= $date2->format('h:i')){
echo "date2";
}
else{
echo "no";
}
结果总是没有(代码编辑简单,解决问题的速度更快)
答案 0 :(得分:1)
if($now >= $date5 && $now <= $date5)
错误的数据正在比较
答案 1 :(得分:0)
使用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']);
答案 2 :(得分:0)
此代码已经在stackoverflow,尝试使用它:)
$ThatTime ="14:08:10";
if (time() >= strtotime($ThatTime)) {
echo "The Time that was entered is behind";
}