我目前正在开展一个项目,通过使用图像精灵表示来实时打开和关闭业务。
在下面的代码中,我将默认时区设置为GMT,时间格式设置为0000.测试时除了0000和0959之间没有问题。它似乎忽略了时间格式而没有将前导零置于
此外,是否有更有效的方法来执行以下操作?
提前致谢。
<?php date_default_timezone_set("Europe/London"); $time = date("Hi");?>
.<?php if($time > 1600 && $time < 2329){echo "business1";} else{echo "business1:hover";}?> {background: url(http://website.com/business1.png) 0 -145px;}
.<?php if($time > 1600 && $time < 2329){echo "business1:hover";} else{echo "business1";}?> {background: url(http://website.com/business1.png) 0 0;}
.<?php if($time > 0800 && $time < 1659){echo "business2";} else{echo "business2:hover";}?> {background: url(http://website.com/business2.png) 0 -145px;}
.<?php if($time > 0800 && $time < 1659){echo "business2:hover";} else{echo "business2";}?> {background: url(http://website.com/business2.png) 0 0;}
答案 0 :(得分:1)
由于领先0800
,PHP is understood to be an octal number中的文字0
。您不应该将时间作为字符串进行比较。使用UNIX时间戳进行时间比较:
$now = time();
if ($now > strtotime('16:00') ...)