php处理业务开放和关闭时间

时间:2017-01-04 05:53:49

标签: php

尝试让每个商店打开和关闭状态,如果在操作时间回显打开,如果不是回声关闭。

例如:星期一至星期五:上午11:00 - 凌晨2:00(开放至午夜)

这是我的代码

$currentTime = strtotime("01:14 pm");       $rangeStart = strtotime("11:00am");         $rangeEnd = strtotime("tomorrow 02:00 am");
if ($currentTime >= $rangeStart && $currentTime <= $rangeEnd) {
   echo 'in range';         
} else {
        echo 'not in range';        
}

这很有效,因为当前时间是下午01:14。

所以我尝试将当前时间设置为午夜01:14,这是问题所在。

将在范围内回显,因为$ currentTime小于$ rangeStart。

这个问题alrady打扰了我2天.....请帮忙,谢谢

1 个答案:

答案 0 :(得分:3)

检查$currentTime是否小于$rangeStart

如果为true,则将$currentTime增加一天。

<?php
$currentTime = date('d-m-Y H:i', strtotime("01:14 am"));      
$rangeStart = date('d-m-Y H:i', strtotime("11:00 am"));         
$rangeEnd = date('d-m-Y H:i', strtotime("tomorrow 02:00 am"));

if($currentTime < $rangeStart){
    $currentTime = date('d-m-Y H:i', strtotime("tomorrow".date('H:i',strtotime($currentTime))));     
}


if ($currentTime >= $rangeStart && $currentTime <= $rangeEnd) {
    echo 'in range';         
} else {

    echo 'not in range';        

}
?>