脚本宝典收集整理的这篇文章主要介绍了PHP显示营业时间,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
$tuesdayoPEn = strtotime("10:00"); $tuesdayclose = strtotime("23:00"); $Now = strtotime("Now"); if ($Now >= $tuesdayopen && $Now <= $tuesdayclose) { echo "We are open!"; } else { echo "We are closed!"; }
所以这样可以正常工作.如果关闭时间是第二天,我也有一个不优雅的解决方案.
$tuesdayopen = strtotime("10:00"); $tuesdayclose = strtotime("02:00"); $Now = strtotime("Now"); if ($tuesdayclose >= strtotime("00:00") && $tuesdayclose <= strtotime("04:00")): $tuesdayclose = strtotime("+1 day",$tuesdayclose); endif; if ($Now >= $tuesdayopen && $Now <= $tuesdayclose) { echo "We are open!"; } else { echo "We are closed!"; }
那我的问题在哪里?问题是$Now现在最终是在午夜之后.因此,如果有人在周二晚上,午夜之后访问该页面,那么技术上是周三早上.这意味着我的完整脚本将继续到周三.我需要它认识到它是在午夜和凌晨4点之间,因此,使用前几天的开放/关闭时间来确定它是否打开(但只有在关闭时间是在午夜之后,否则转到星期三是正确的事情去做).希望我解释得那么好.我自己尝试过写一些东西,但是代码是一个臃肿的混乱,最终无法正常工作.所以我不打扰在这里包括它.
请注意,我将从星期一00:00开始计算秒数的时间标准化,无论时间是将来还是过去.
<?PHP // Normalize time to count From 0 function timeOfWeek($time) { if (!is_int($time)) $time = strtotime($time) ; $secondsInWeek = (7 * 24 * 3600); return (($time - strtotime('monday 00:00')) % $secondsInWeek + $secondsInWeek) % $secondsInWeek; } function isOpen($opened,$time) { $time = timeOfWeek($time); foreach ($opened as $openday) { list($open,$close) = $openday; if ($open < $close) { if ($time > $open && $time < $close) return true; } else { if ($time > $open || $time < $close) return true; // Special case sunday -> monday } } return false; } $opened = array(); $opened[] = array(timeOfWeek('monday 10:00'),timeOfWeek('monday 23:00')); $opened[] = array(timeOfWeek('tuesday 10:00'),timeOfWeek('tuesday 23:00')); $opened[] = array(timeOfWeek('wednesday 10:00'),timeOfWeek('wednesday 23:00')); $opened[] = array(timeOfWeek('thursday 10:00'),timeOfWeek('thursday 23:00')); $opened[] = array(timeOfWeek('friday 10:00'),timeOfWeek('saturday 01:00')); $opened[] = array(timeOfWeek('saturday 10:00'),timeOfWeek('sunday 01:00')); $opened[] = array(timeOfWeek('sunday 10:00'),timeOfWeek('monday 01:00')); $open = isOpen($opened,time()); var_dump($open);
以上是脚本宝典为你收集整理的PHP显示营业时间全部内容,希望文章能够帮你解决PHP显示营业时间所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。