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 相关文章推荐
php开发工具之vs2005图解
Jan 12 PHP
也谈php网站在线人数统计
Apr 09 PHP
Zend Studio 无法启动的问题解决方法
Dec 04 PHP
php通过递归方式复制目录和子目录的方法
Mar 13 PHP
PHP基于工厂模式实现的计算器实例
Jul 16 PHP
Zend Framework框架教程之Zend_Db_Table_Rowset用法实例分析
Mar 21 PHP
php+html5+ajax实现上传图片的方法
May 14 PHP
thinkphp多表查询两表有重复相同字段的完美解决方法
Sep 22 PHP
Yii 2.0实现联表查询加搜索分页的方法示例
Aug 02 PHP
ThinkPHP框架实现的邮箱激活功能示例
Jun 15 PHP
PHP后台实现微信小程序登录
Aug 03 PHP
redis+php实现微博(二)发布与关注功能详解
Sep 23 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
基于MySQL分区性能的详细介绍
2013/05/02 PHP
php如何解决无法上传大于8M的文件问题
2014/03/10 PHP
深入分析PHP优化及注意事项
2016/07/04 PHP
php 如何设置一个严格控制过期时间的session
2017/05/05 PHP
PHP设计模式之工厂方法设计模式实例分析
2018/04/25 PHP
客户端脚本中常常出现的一些问题和调试技巧
2007/01/09 Javascript
JQuery入门—JQuery程序的代码风格详细介绍
2013/01/03 Javascript
JS控制图片翻转示例代码(兼容firefox,ie,chrome)
2013/12/19 Javascript
JS 打印功能代码可实现打印预览、打印设置等
2014/10/31 Javascript
JS数组array元素的添加和删除方法代码实例
2015/06/01 Javascript
jQuery simplePage+AJAX plus分页插件用法实例
2016/02/17 Javascript
AngularJs 弹出模态框(model)
2016/04/07 Javascript
jQuery对象的链式操作用法分析
2016/05/10 Javascript
使用canvas及js简单生成验证码方法
2017/04/02 Javascript
详解AngularJS 路由 resolve用法
2017/04/24 Javascript
关于在vue 中使用百度ueEditor编辑器的方法实例代码
2018/09/14 Javascript
解决vue attr取不到属性值的问题
2018/09/18 Javascript
使用puppeteer爬取网站并抓出404无效链接
2018/12/20 Javascript
通过循环优化 JavaScript 程序
2019/06/24 Javascript
p5.js码绘“跳动的小正方形”的实现代码
2019/10/22 Javascript
Vue Object 的变化侦测实现代码
2020/04/15 Javascript
解决Nuxt使用axios跨域问题
2020/07/06 Javascript
可用于监控 mysql Master Slave 状态的python代码
2013/02/10 Python
Flask框架学习笔记(一)安装篇(windows安装与centos安装)
2014/06/25 Python
Python实现程序的单一实例用法分析
2015/06/03 Python
Python实现将Excel转换成为image的方法
2018/10/23 Python
python:接口间数据传递与调用方法
2018/12/17 Python
python 实现检验33品种数据是否是正态分布
2019/12/09 Python
Python3使用xlrd、xlwt处理Excel方法数据
2020/02/28 Python
学校大课间活动方案
2014/01/30 职场文书
实习协议书范本
2014/04/22 职场文书
关于保护环境的标语
2014/06/09 职场文书
社区党建工作汇报材料
2014/10/27 职场文书
Python制作一个随机抽奖小工具的实现
2021/07/07 Python
教你在 Java 中实现 Dijkstra 最短路算法的方法
2022/04/08 Java/Android
Python matplotlib多个子图绘制整合
2022/04/13 Python