用户
 找回密码
 入住 CI 中国社区
搜索
查看: 8346|回复: 3
收起左侧

如何写PHP 判断当前时间是否大于下午6点

[复制链接]
发表于 2012-4-28 09:33:53 | 显示全部楼层 |阅读模式
如何写PHP 判断当前时间是否大于下午7点 ,也就是19:00

然后还要小于 第二天早上的6点, 之间的一个判断
发表于 2012-4-28 10:39:01 | 显示全部楼层
获取当前时间戳进行判断  此外还应考虑服务器当前时间 客户时间 及 UTC时间
发表于 2012-4-28 13:12:23 | 显示全部楼层
PHP复制代码
 
/**
 * @todo 判断当前时间是否大于今天19:00:00且小于明天06:00:00
 * @return Boolean  true:是 false:否
 */

 function test_time()
 {
     //设置每晚19:00的时间戳
    $start_time = mktime(19,0,0,date('m'),date('d'),date('Y'));
     //设置明天06:00的时间戳
     $next_time = time('1 day');
     $end_time = mktime(6,0,0,date('m'),date('d')+1,date('Y'));
     return (time() > $start_time && time() < $end_time);
 }
 
复制代码

看看这个行不行?
发表于 2012-4-29 07:37:56 | 显示全部楼层
逻辑谬误!

举例,假若现时是半夜三点,即03:00,这是否在“今天”19:00之后?当然不是!不合时段,完了!

但今天的03:00是:以“昨天”为当前的19:00之后,亦在“昨天的明天”的06:00之前,合乎时段。

以谬误逻辑思考,所有00:00-06:00时段都应判为不符合要求。

test_time()正以谬误作判断,亦有同样结果。


电脑测试的时候永远是“今天”,逻辑谬误中测试的时候却是“昨天”。


应直接测定现时是否19:00之后,又或是06:00之前即可。

本版积分规则