PHP根据时间显示营业时间的开放或关闭

时间:2016-09-15 16:54:01

标签: php echo

我正在努力让分钟工作以回应"打开"或者"关闭"取决于时间。如果我不添加分钟,它会起作用,但在添加分钟时则不行。

<?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 个答案:

答案 0 :(得分:2)

考虑到时间,例如18:55,您的date('H:i')会在使用格式18:55时输出字符串H:i。如果您尝试将此转换为整数,就像使用(int)一样,它将仅评估第一个数字18

只需删除date()功能中的冒号即可!这将从日期返回一个字符串1855,可以将其转换为该值的整数。虽然,并不是严格要求将它转换为整数,因为PHP会将一串数字视为整数。

所以基本上你只需要

$hour = date("Hi");

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

答案 1 :(得分: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";
}
?>