我不能在两次之间得到适当的时间差

时间:2015-12-02 07:07:39

标签: php datetime time strtotime

我有2次。 $delv_start$delv_end。我使用以下代码。如果开始日期在AM并且结束日期在PM中,则它可以正常工作。当两个日期都在AM时出现问题。让我们说,交货从上午8点开始,到12点结束(晚上),餐厅状态接近。我该如何反击?这是我的代码。

$delv_start = explode("_", $restaurant['delv_' . $day . '_from']);
$delv_end = explode("_", $restaurant['delv_' . $day . '_to']);

if ($delv_start[2] == 'am') {
     $delv_start[2] = 'AM';
} else if ($delv_start[2] == 'pm') {
    $delv_start[2] = 'PM';
}

if ($delv_end[2] == 'am') {
    $delv_end[2] = 'AM';
} else if ($delv_end[2] == 'pm') {
   $delv_end[2] = 'PM';
}

$open = sprintf('%02d', $delv_start[0]) . ':' . sprintf('%02d', $delv_start[1]) . ' ' . $delv_start[2];
$close = sprintf('%02d', $delv_end[0]) . ':' . sprintf('%02d', $delv_end[1]) . ' ' . $delv_end[2];

$time1 = strtotime($open);
$time2 = strtotime($close);

if ($time >= $time1 && $time <= $time2) {
     $status = 'Open';
     $color = 'green';
} else {
     $status = 'Close';
     $color = 'red';
}

0 个答案:

没有答案