2016-09-15 120 views
0

我试图让分钟工作以根据时间回显“打开”或“关闭”。它可以工作,如果我不添加分钟,但不添加分钟时。PHP显示营业时间根据时间开放或关闭

<?php 
date_default_timezone_set('America/New_York'); 
$hour = (int) date('H:i'); 

if ($hour >= 1215 && $hour <=1735) { 
// between 8:15am and 5:35pm 
echo "Open"; 
} else { 
echo "Closed"; 
} 
?> 

回答

2

使用格式H:i当给定一个时间,例如18:55,您date('H:i')将输出一个字符串,18:55。如果您尝试将其转换为整数,例如与(int)一样,它将仅评估第一个数字18

只需在您的date()函数中删除冒号!这将从日期返回一个字符串1855,该日期可以转换为该值的整数。尽管将它强制转换为整数不是必须的,因为PHP会将一串数字视为整数。

所以基本上你只需要

$hour = date("Hi"); 

if ($hour >= 1215 && $hour <= 1735) { 
    // between 12:15 and 17:35 
} 
+1

谢谢。也很好的解释。 – AlwaysLearning

0

为未来的学习最终代码。谢谢Qirel

<?php 
date_default_timezone_set('America/New_York'); 
$hour = (int) date('Hi'); 

if ($hour >= 0815 && $hour <=1735) { 
// between 8:15am and 5:35pm 
echo "Open"; 
} else { 
echo "Closed"; 
} 
?>