我试图在基于 Wordpress 的网站上打开业务并从数据库中提取信息时显示通知。数据被简单地存储为每天的开/关时间,作为单独的数据库条目。当时间在一天之内时,这是相当直截了当的。但是对于酒吧/餐厅,它变得复杂,因为从技术上讲,关闭时间是在第二天。我将以星期二为例。
$tuesdayopen = strtotime("10:00");
$tuesdayclose = strtotime("23:00");
$now = strtotime("now");
if ($now >= $tuesdayopen && $now <= $tuesdayclose) {
echo "We are open!";
} else {
echo "We are closed!";
}
所以这可以正常工作。如果关门时间到第二天,我也有一个不雅的解决方案。
$tuesdayopen = strtotime("10:00");
$tuesdayclose = strtotime("02:00");
$now = strtotime("now");
if ($tuesdayclose >= strtotime("00:00") && $tuesdayclose <= strtotime("04:00")):
$tuesdayclose = strtotime("+1 day", $tuesdayclose);
endif;
if ($now >= $tuesdayopen && $now <= $tuesdayclose) {
echo "We are open!";
} else {
echo "We are closed!";
}
那么我的问题在哪里?问题是当 $now 在午夜之后结束时。因此,如果有人在周二晚上午夜之后访问该页面,从技术上讲,它是周三早上。这意味着我的完整剧本将移至周三。我需要它来识别它是在午夜和凌晨 4 点之间,因此,使用前几天的开放/关闭时间来确定它是否开放(但前提是关闭时间是在午夜之后,否则转到星期三是正确的去做)。希望我解释得很好。我试过自己写一些东西,但代码是一团糟,最终不起作用。所以我不会费心把它包括在这里。