(PHP)仅在工作时间显示链接


(PHP) Display link ONLY during business hours?

我正试图使实时聊天链接仅在工作时间出现在网站上。我有下面的代码,它似乎在下午工作,但在早上不工作,我不知道为什么。。。$start$end是从MySQL数据库接收的值,但在我的示例中,我对它们进行了硬编码,以使示例更简单。

$LinkStatus = "on";
$start = 9:00:00;
$end = 23:00:00;
$current_time = date('G:i:s'); //9:35:00
if (($start > $current_time) || ($end < $current_time)) {
    $LinkStatus = "off"; 
}

如果开始时间大于当前时间,则表示业务尚未打开。如果结束时间小于当前时间,则为下班时间。上午9点到晚上11点(23:00)之间的任何时间,这些条件都不应为真,因此$LinkStatus应保持为"on"。然而,它现在似乎并没有这么做。有人将其设置为"off"

我已经在if语句上方和下方回显了变量,这样我就可以确认是这个if语句导致变量设置为"off"

正如您可能从我的代码示例中看到的,我对PHP不是很了解。感谢您的帮助。

date('G:i:s')  // 24 hours time without leading zero for hour

不会很好地作为字符串排序,例如"9">"10"。

改为使用前导零的24小时时间,这将使正确的排序为"09"&lt10';

date('H:i:s')  // 24 hour time with leading zero for hour

  date_default_timezone_set('Europe/London');
  $day_start = '09:00:00';
  $day_end = '16:59:59';
  $current_time = date('H:i:s'); // For 9-5 hours only
  $current_day = date('N'); // For Monday to Friday only
  if (($current_day <= 5) && ($current_time >= $day_start) && ($current_time <= $day_end)) {
     echo 'ON'; 
  } else {
    echo 'OFF'
  }