尝试让每个商店打开和关闭状态,如果在操作时间回显打开,如果不是回声关闭。
例如:星期一至星期五:上午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天.....请帮忙,谢谢
答案 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';
}
?>