if语句基于日期()

时间:2015-04-13 17:36:08

标签: php mysql

好的,我是PHP编码的新手,我试着查看以前的问题,所以如果我错过了什么,请告诉我。

使用PHP if语句,我试图让一个已知的工作PHP / MySQL代码集在晚上11点到早上8点之间运行,另一个已知的工作PHP / MySQL代码集在当天余下的时间运行。

如果您需要进一步详细说明以了解我的问题,请告诉我们,并感谢您的帮助!

<?php
if (date('H')>=23 || date('H')<=08)      {

   Runs a PHP/MySQL query that is know to work. The IF statement never runs this code.

}
else
 {

   Runs another PHP/MySQL query that is know to work. The IF statement always returns FALSE and runs this code.

}
?>

1 个答案:

答案 0 :(得分:0)

date('H')<=08

具有前导零的number(不是quoted string)被视为八进制值.... 08作为八进制值无效,并被视为数字零,所以date('H')<=08相当于date('H')<=0

修改

允许PHP的松散输入将您的Hour字符串转换为整数:

date('H')<=8

或对比较的两边使用松散类型比较(将08作为带引号的字符串,这会将强制转换为十进制8):

date('H')<='08'

或使用日期格式掩码'G'

date('G')<=8