PhP时间语句出错if(date('H')>=23 && date('H')<=5)

hackjjj 2012-04-18 09:37:37
PhP时间语句出错

if(date('H')>=23 && date('H')<=5)

我本来想让它 23点到5点执行的。

但是现在date('H') 虚拟主机显示的1-12这个范围。 而不是1-24 哪我该怎么办呢?
...全文
174 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
andyxl 2012-04-18
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

$today = getdate ();
if($today ['hours'] <= 5 && $today ['hours'] >= 23){

# some coding..

}
[/Quote]

||
ted 2012-04-18
  • 打赏
  • 举报
回复
比较就不需要前导0了吧
把H改成G。
xuzuning 2012-04-18
  • 打赏
  • 举报
回复
if(date('H')>=23 && date('H')<=5) ???
这个条件永远都不不被满足
应为
if(date('H')>=23 || date('H')<=5)

date('H') 为 24 小时计时,不可能只返回 1-12这个范围
andyxl 2012-04-18
  • 打赏
  • 举报
回复
$today = getdate ();
if($today ['hours'] <= 5 && $today ['hours'] >= 23){

# some coding..

}
K-dash 2012-04-18
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

if(date('H')>=23 && date('H')<=5) ???
这个条件永远都不不被满足
应为
if(date('H')>=23 || date('H')<=5)

date('H') 为 24 小时计时,不可能只返回 1-12这个范围
[/Quote]

现在是24小时制的16点
代码:

echo date('H').'<br/>';
if(date('H')>=4 && date('H')<=19)echo 1;

测试结果显示1
个人认为 && 运算符没问题,反而如果用 || 的话就算返回3也能因为满足了date('H')<=19而执行语句

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧