php当前时间和mysql表的时间

时间:2016-06-15 17:31:53

标签: php

我有一个商店网站,我正在使用商店的开始和结束时间,它正常工作,如果开放时间是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 } } ?>

1 个答案:

答案 0 :(得分:1)

那么这是行不通的,因为如果您使用的只是时间,凌晨4点30分显然是在上午11:30之前。在if条件

之前添加
if ($date1 < $date2) {
    $date2->sub(new DateInterval('P1D'));
} else {
    if ($date3 < $date2) {
        $date3->add(new DateInterval('P1D'));
    }
}