我如何解释if / else PHP语句中的时间?

时间:2013-04-30 17:24:11

标签: php codeigniter if-statement time

$currentTime = date("Hi");

if($currentTime > 0559 && $currentTime < 1401) {
     // Stuff here
}

这是我当前的代码,但if语句似乎在午夜之后的任何时间运行,而不是仅在0600(当地时间早上6:00)之后运行。任何想法会导致这种情况。

3 个答案:

答案 0 :(得分:3)

由于前面的(if($currentTime > 0559)0559 - octal将被视为0

只需在比较if($currentTime > 559)

中删除它

答案 1 :(得分:2)

您使用的是您认为正在使用的其他方式的整数,请查看integer文档here

示例

$a = 0123; // octal number (equivalent to 83 decimal)

让我们回到您的代码,修复它只需在整数之前删除0,这样它就不会被解释为octal,只需更改为

if(($currentTime > 559) && ($currentTime < 1401)) {
    // Stuff here
}

答案 2 :(得分:1)

确保使用整数。

$currentTime = intval( date("Hi") );

if ($currentTime > 559 && $currentTime < 1401) {
    // Stuff here
}