手机
当前位置:查字典教程网 >编程开发 >php教程 >php倒计时出现-0情况的解决方法
php倒计时出现-0情况的解决方法
摘要:本文实例讲述了php倒计时出现-0情况的解决方法。分享给大家供大家参考,具体如下:问题:今天有反馈,说倒计时出现了-0天的情况,我看了看程序...

本文实例讲述了php倒计时出现-0情况的解决方法。分享给大家供大家参考,具体如下:

问题:今天有反馈,说倒计时出现了-0天的情况,我看了看程序,卧槽,当时怎么没测试到

原因是PHP的逻辑判断中 -0 > 0

分析:贴出错的代码

$starttime = 1362585600; //3.7凌晨 $nowtime = 1362618921;//3.7早上 $off = ceil(($starttime - $nowtime)/86400); //倒计时 if ($off < 0) { $off = 0; } $b = $starttime - $nowtime; $c = $b/86400; $d = ceil($c); var_dump(array('start-now'=>$b), array('float_day'=>$c), array('int_day'=>$d), array('off'=>$off)); if (-0 < 0) { echo '-0 < 0'; } else { echo '-0 > 0'; }

输出:

array 'start-now' => int -33321 array 'float_day' => float -0.385659722222 array 'int_day' => float -0 array 'off' => float -0 -0 > 0

过程:

当开始时间和当前时间是同一天时,上边的计算过程由于 -0 > 0 所以会出现 off = -0 的情况

改进:

$starttime = 1362585600; //3.7凌晨 $nowtime = 1362618921;//3.7早上 if (($starttime - $nowtime) < 0) { $off = 0; } else { $off = ceil(($starttime - $nowtime)/86400); }

PS:本站还提供了一个Unix时间戳转换工具,非常实用,提供给大家参考:

Unix时间戳(timestamp)转换工具:

http://tools.jb51.net/code/unixtime

希望本文所述对大家PHP程序设计有所帮助。

【php倒计时出现-0情况的解决方法】相关文章:

php对象和数组相互转换的方法

JavaScript实现滚动栏效果的方法

php实现将上传word文件转为html的方法

PHP基于MySQL数据库实现对象持久层的方法

php解析字符串里所有URL地址的方法

php猴子选大王问题解决方法

php循环table实现一行两列显示的方法

php使用指定编码导出mysql数据到csv文件的方法

php快速查找数据库中恶意代码的方法

php curl 获取https请求的2种方法

精品推荐
分类导航