比较时间在PHP错误


comparing time in php error

我正试图将当前时间与其他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";
}