我有一项任务是使用php创建一个脚本,以便在正确的时间显示打开和关闭。到目前为止,我有时间正确地工作,如果业务在这段时间内每周工作7天,那就没问题了。然而,该项目的场景是商业开放时间为上午7:00至下午5:30,然后周六上午7:00至下午1:00开放,周日休息。我以为我可以使用日期函数w,因为显示0-6并调用
if($date >= 0 && $date < 6)
但这不起作用。这是我到目前为止的代码
<?php
date_default_timezone_set('America/Chicago');
$open = "700";
$close = "1730";
$time = date('Gi');
$day = date('w');
if ($time >= $open && $time <= $close) {
echo "We are Open";
} else {
echo "We are closed";
}
?>
答案 0 :(得分:1)
如果你没有使用数据库,你可以用一些易于解析的格式对每周的每一天进行硬编码:
$schedule[0] = "700-1730";
$schedule[1] = "700-1730";
$schedule[2] = "700-1730";
$schedule[3] = "700-1730";
$schedule[4] = "700-1730";
$schedule[5] = "700-1300";
$schedule[6] = "0";
$today = $schedule[date('w')];
list($open, $close) = explode('-', $schedule);
$now = (int) date('Gi');
$state = 'Open';
if ($today[0] == 0 || $now < (int) $today[0] || $now > (int) $today[1]) {
$state = 'Closed';
}
刚写完代码,还没有测试过。
祝你好运!答案 1 :(得分:0)
为打开和关闭时间创建DateTime对象。然后将当前时间与DateTime对象进行比较。然后,您可以使用比较运算符。然后,您还可以检查当天,并将其输入if,elseif和else语句,以确定当天是工作日,星期六还是星期日。