我认为我应该使用in_array(),但由于某些原因它给出了不准确的信息。我查看了array_search()和array_key_exists(),但似乎只有在我的数组中有键和值时才有用。简而言之,我正在运行一个条件来获取当前的EST时间和日期,并确定它是否是“工作时间”还是“非工作时间”。
所以现在是星期二晚上7点,这应该显示“非工作时间”,但它却输出“工作时间”,我错过了什么吗?
示例代码:
所以现在是星期二晚上7点,这应该显示“非工作时间”,但它却输出“工作时间”,我错过了什么吗?
示例代码:
<?php
date_default_timezone_set('US/Eastern');
$current_time = date('A'); //AM or PM
$current_day = date('l'); // Sunday - Saturday
$current_hour = date('H'); // 08 / 24hr Time Format
$closed_days = array('Saturday','Sunday');
$closed_hours = array('17','18','19','20','21','22','23','00','01','02','03','04','05','06','07','08');
?>
<?php
echo $current_time . '<br />';
echo $current_day . '<br />';
echo $current_hour . '<br />';
//Operating Hours
if(!in_array($current_day, $closed_days) || !in_array($current_hour, $closed_hours)) {
echo 'During Hours';
} else {
echo 'After Hours';
} ?>
正在返回:
PM
Tuesday
19
During Hours