我有一个商店网站,我正在使用商店的开始和结束时间,它正常工作,如果开放时间是08:00 am,关闭时间是09:00 pm。 但如果开放时间是上午11:30,关闭时间是凌晨04:00,则无效。 我的代码如下:
<?php
date_default_timezone_set("Asia/Kuwait");
$rest_oc = mysql_query("SELECT * FROM timing WHERE sr_id = '".$rm_id."'");
while ($oc = mysql_fetch_array($rest_oc)) {
$timo = $oc['open'];
$timc = $oc['close'];
$ptime = date("h:i a");
$date1 = DateTime::createFromFormat('H:i a', $ptime);
$date2 = DateTime::createFromFormat('H:i a', $timo);
$date3 = DateTime::createFromFormat('H:i a', $timc);
if ($date3 < $date2) {
$date3->add(new DateInterval('P1D'));
}
if ($date1 >= $date2 && $date1 <= $date3) {
?>
<div class="tagR">
<img src="images/openN.png" alt=""/>
</div>
<?php }else{ ?>
<div class="tagR">
<img src="images/closed.png" alt=""/>
</div>
<?php } } ?>
答案 0 :(得分:1)
那么这是行不通的,因为如果您使用的只是时间,凌晨4点30分显然是在上午11:30之前。在if条件
之前添加if ($date1 < $date2) {
$date2->sub(new DateInterval('P1D'));
} else {
if ($date3 < $date2) {
$date3->add(new DateInterval('P1D'));
}
}