Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php当前时间和mysql时间表_Php - Fatal编程技术网

php当前时间和mysql时间表

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

我有一个商店网站,我使用的是商店的开店和关门时间,它工作正常,就像开店时间是上午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_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。看到我的最新答案了吗?是的,正在工作。很好,再次感谢,很抱歉打扰您