PHP - 基于时间的不同状态

时间:2012-07-30 09:16:02

标签: php date time

我目前正在开展一个项目,通过使用图像精灵表示来实时打开和关闭业务。

在下面的代码中,我将默认时区设置为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;}

1 个答案:

答案 0 :(得分:1)

由于领先0800,PHP is understood to be an octal number中的文字0。您不应该将时间作为字符串进行比较。使用UNIX时间戳进行时间比较:

$now = time();
if ($now > strtotime('16:00') ...)