如何在PHP中比较两个时间

2022-08-30 23:59:29

我有两次以7:30:00和22:30:00等格式分别存储在变量中。$resttimefrom$resttimeto

我想检查当前时间是否在这两个值之间。我正在用代码检查这一点

$time = date("G:i:s");
if ($time > $resttimefrom and $time < $resttimeto ){
    $stat = "open";
} else {
    $stat = "close";
} 

但我总是得到$stat接近。这是什么原因造成的?


答案 1

你可以尝试使用strtotime

$st_time    =   strtotime($resttimefrom);
$end_time   =   strtotime($resttimeto);
$cur_time   =   strtotime(now);

然后检查

if($st_time < $cur_time && $end_time > $cur_time)
{
   echo "WE ARE CLOSE NOW !!";
}
else{
   echo "WE ARE OPEN  NOW !!";
}

我希望这可以帮助你..


答案 2

一种简单而聪明的方法是从日期中删除“:”。

$resttimefrom = 73000;
$resttimeto = 223000;

$currentTime = (int) date('Gis');

if ($currentTime > $resttimefrom && $currentTime < $resttimeto )
{
    $stat="open";
}
else
{
    $stat="close";
} 

推荐