PHP日期打开和关闭脚本

时间:2012-07-12 20:54:58

标签: php date

我有一项任务是使用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";
}

?>

2 个答案:

答案 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语句,以确定当天是工作日,星期六还是星期日。