您好,登录后才能下订单哦!
这篇文章主要介绍“php倒计时出现-0情况怎么解决”,在日常操作中,相信很多人在php倒计时出现-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倒计时出现-0情况怎么解决”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。