0

我的任务是使用 php 创建一个脚本,以在正确的时间显示打开和关闭。到目前为止,我有时间进行正确的工作,如果在此期间每周营业 7 天,这会很好。然而,该项目的场景是营业时间为周一至周五上午 7:00 至下午 5:30,然后周六上午 7:00 至下午 1:00 开放,周日休息。我想我可以使用日期函数 w 因为它显示 0-6 并调用 if

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";
}

?>
4

2 回答 2

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';
}

刚写了代码,还没测试。

祝你好运!

于 2012-07-12T21:07:41.573 回答
0

为打开和关闭时间创建 DateTime 对象。然后将当前时间作为 DateTime 对象与这些时间进行比较。然后,您可以使用比较运算符。然后,您还可以检查日期并将其放入 if、elseif 和 else 语句中,以确定该天是工作日、星期六还是星期日。

于 2012-07-12T21:00:10.897 回答