if语句-显示";打开";或";闭合的";基于当前日期/时间,不包括周六和周日P


if statement - Displaying "open" or "closed" based on current Date/Time excluding Saturday and Sunday 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(周日(。