php当前时间和mysql时间表
我有一个商店网站,我使用的是商店的开店和关门时间,它工作正常,就像开店时间是上午08:00,关门时间是晚上09:00。 但如果开门时间是上午11:30,关门时间是凌晨4:00,则不起作用。 我的代码如下:php当前时间和mysql时间表,php,Php,我有一个商店网站,我使用的是商店的开店和关门时间,它工作正常,就像开店时间是上午08:00,关门时间是晚上09:00。 但如果开门时间是上午11:30,关门时间是凌晨4:00,则不起作用。 我的代码如下: <?php date_default_timezone_set("Asia/Kuwait"); $rest_oc = mysql_query("SELECT * FROM timing WHERE sr_id = '".$rm_id."'"); while ($oc = mysql_f
<?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 } } ?>
这是行不通的,因为如果你只使用时间,那么凌晨4点显然是在11:30之前。在if条件之前添加此项
if ($date1 < $date2) {
$date2->sub(new DateInterval('P1D'));
} else {
if ($date3 < $date2) {
$date3->add(new DateInterval('P1D'));
}
}
if($date1<$date2){
$date2->sub(新日期间隔('P1D');
}否则{
如果($date3<$date2){
$date3->add(新的日期间隔('P1D'));
}
}
这是因为日期不变,所以凌晨4点总是在上午11:30之前。你可能想看看是否在开盘前就结束了,如果是的话,在结束前再加上一天。当时它还在工作,但现在突然停止了工作。。。我已经更新了我的代码,请检查@乔治:到底是什么不起作用?您的if条件是否再次不满足?是,其显示已关闭。。。开放时间为上午11:30,关闭时间为凌晨3:30。。但根据更新的代码,它仍然显示我关闭,因为你的时区改变。现在是科威特的6/16凌晨2点。与我之前的答案相比,您比较的日期是6月16日上午11:30和6月17日上午3:30。看到我的最新答案了吗?是的,正在工作。很好,再次感谢,很抱歉打扰您