0
$currentTime = date("Hi");

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

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

4

3 回答 3

3

(if($currentTime > 0559)-0559将被认为是octal因为前面0

只需在比较中删除它if($currentTime > 559)

于 2013-04-30T17:27:40.650 回答
2

您正在以另一种您认为自己正在使用的方式使用整数,请在此处integer查看文档

例子

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

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

if(($currentTime > 559) && ($currentTime < 1401)) {
    // Stuff here
}
于 2013-04-30T17:32:03.307 回答
1

确保您使用的是整数。

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

if ($currentTime > 559 && $currentTime < 1401) {
    // Stuff here
}
于 2013-04-30T17:31:27.670 回答