php倒计时出现-0情况的解决方法


Posted in PHP onJuly 28, 2016

本文实例讲述了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.3water.com/code/unixtime

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

PHP 相关文章推荐
不用数据库的多用户文件自由上传投票系统(2)
Oct 09 PHP
如何使用PHP往windows中添加用户
Dec 06 PHP
使用apache模块rewrite_module (转)
Feb 14 PHP
通过PHP的内置函数,通过DES算法对数据加密和解密
Jun 21 PHP
Thinkphp模板中使用自定义函数的方法
Sep 23 PHP
PHP内核探索:变量存储与类型使用说明
Jan 30 PHP
PDO预处理语句PDOStatement对象使用总结
Nov 20 PHP
php微信公众号开发(3)php实现简单微信文本通讯
Dec 15 PHP
PHP经典实用正则表达式小结
May 04 PHP
详解PHP的抽象类和抽象方法以及接口总结
Mar 15 PHP
gearman中任务的优先级和返回状态实例分析
Feb 27 PHP
PHP超全局变量实现原理及代码解析
Sep 01 PHP
24条货真价实的PHP代码优化技巧
Jul 28 #PHP
php求今天、昨天、明天时间戳的简单实现方法
Jul 28 #PHP
php字符串操作针对负值的判断分析
Jul 28 #PHP
PHP实现bitmap位图排序与求交集的方法
Jul 28 #PHP
php判断手机浏览还是web浏览,并执行相应的动作简单实例
Jul 28 #PHP
apache php mysql开发环境安装教程
Jul 28 #PHP
Yii中的cookie的发送和读取
Jul 27 #PHP
You might like
PHP获取当前日期所在星期(月份)的开始日期与结束日期(实现代码)
2013/06/18 PHP
保存到桌面、设为桌面且带图标的PHP代码
2013/11/19 PHP
php、mysql查询当天,查询本周,查询本月的数据实例(字段是时间戳)
2017/02/04 PHP
数据结构之利用PHP实现二分搜索树
2020/10/25 PHP
js中各浏览器中鼠标按键值的差异
2011/04/07 Javascript
基于jquery实现的类似百度搜索的输入框自动完成功能
2011/08/23 Javascript
js 关于=+与+=日期函数使用说明(赋值运算符)
2011/11/15 Javascript
javascript学习笔记(十七) 检测浏览器插件代码
2012/06/20 Javascript
js iframe跨域访问(同主域/非同主域)分别深入介绍
2013/01/24 Javascript
jquery和css3实现的炫酷时尚的菜单导航
2014/09/01 Javascript
jQuery中parentsUntil()方法用法实例
2015/01/07 Javascript
详解JavaScript中的blink()方法的使用
2015/06/08 Javascript
基于javascript实现浏览器滚动条快到底部时自动加载数据
2015/11/30 Javascript
使用jQuery操作HTML的table表格的实例解析
2016/03/13 Javascript
vue弹窗插件实战代码
2018/09/08 Javascript
Angular Excel 导入与导出的实现代码
2019/04/17 Javascript
详解vue 2.6 中 slot 的新用法
2019/07/09 Javascript
JavaScript图片旋转效果实现方法详解
2020/06/28 Javascript
[08:08]DOTA2-DPC中国联赛2月28日Recap集锦
2021/03/11 DOTA
python操作ssh实现服务器日志下载的方法
2015/06/03 Python
Python中表达式x += y和x = x+y 的区别详解
2017/06/20 Python
pyqt5的QWebEngineView 使用模板的方法
2018/08/18 Python
Python随机生成身份证号码及校验功能
2018/12/04 Python
Django实现文件上传下载
2019/10/06 Python
浅谈spring boot 集成 log4j 解决与logback冲突的问题
2020/02/20 Python
基于Jquery和Css3代码制作可以缩放的搜索框
2015/11/19 HTML / CSS
香蕉共和国Banana Republic官网:美国GAP旗下偏贵族风格服饰品牌
2016/11/21 全球购物
跟单文员的岗位职责
2013/11/14 职场文书
运动会跳远加油稿
2014/02/20 职场文书
疾病防治方案
2014/05/31 职场文书
法人任命书范本
2014/06/04 职场文书
购房协议书范本(无房产证)
2014/10/07 职场文书
党风廉正建设责任书
2015/01/29 职场文书
2015教师年度思想工作总结
2015/04/30 职场文书
汽车销售员工作总结
2015/08/12 职场文书
css3中transform属性实现的4种功能
2021/08/07 HTML / CSS