【问题标题】:PHP Date Open and Close ScriptPHP日期打开和关闭脚本
【发布时间】:2012-07-12 20:54:57
【问题描述】:

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

?>

【问题讨论】:

  • 您可能想要比较数字,而不是字符串。例如,“200”>“1750”为真。

标签: php date


【解决方案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';
}

刚刚写了代码,还没测试。

祝你好运!

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2016-09-22
      • 2015-06-24
      • 1970-01-01
      • 1970-01-01
      • 2023-03-03
      • 1970-01-01
      • 2019-04-23
      • 2018-12-26
      • 1970-01-01
      相关资源
      最近更新 更多