if 语句 - 基于当前日期/时间显示"open"或"closed",不包括星期六和星期日 PHP



如果当前日期/时间介于商店开门时间之间,我正试图在PHP页面上显示"打开"或"关闭"的图形:

$mycurrentdateandtime = new DateTime();
$open = new DateTime( $mycurrentdateandtime->format('Y-m-d').' 09:30');
$close = new DateTime($mycurrentdateandtime->format('Y-m-d').' 17:00');
if (($mycurrentdateandtime >= $open) && ($mycurrentdateandtime <= $close)) {
    echo 'yes we are open';
} else {
    echo 'sorry we are closed';
}

我不太擅长PHP,但上面的操作很好,但如果是周六或周日,我想显示"对不起,我们关门了"。我如何编辑上面的代码来检查它?

谢谢。NJ

试试这个。

 $mycurrentdateandtime = new DateTime();
    $open = new DateTime( $mycurrentdateandtime->format('Y-m-d').' 09:30');
    $close = new DateTime($mycurrentdateandtime->format('Y-m-d').' 17:00');
    if (($mycurrentdateandtime >= $open) && ($mycurrentdateandtime <= $close) && ($open->format('N') != 6) && ($open->format('N') !=7)) {
        echo 'yes we are open';
    } else {
        echo 'sorry we are closed';
    }

PHP手册:DateTime::格式化

我添加了一个检查,查看格式化为"N"(第1-7天的数字表示,1表示周一,7表示周日(的DateTime是否不等于6(周六(或7(周日(。

最新更新