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程序的国际化实现方法(利用gettext)
Aug 14 PHP
ajax php传递和接收变量实现思路及代码
Dec 19 PHP
php根据年月获取季度的方法
Mar 31 PHP
ThinkPHP框架实现session跨域问题的解决方法
Jul 01 PHP
php实现字符串反转输出的方法
Mar 14 PHP
PHP连接Nginx服务器并解析Nginx日志的方法
Aug 16 PHP
通过PHP自带的服务器来查看正则匹配结果的方法
Dec 24 PHP
PHP实现的方程求解示例分析
Nov 11 PHP
PHP中in_array的隐式转换的解决方法
Mar 06 PHP
php json转换相关知识(小结)
Dec 21 PHP
PHP实现的支付宝支付功能示例
Mar 26 PHP
thinkphp诸多限制条件下如何getshell详解
Dec 09 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
使用VisualStudio开发php的图文设置方法
2010/08/21 PHP
php判断一个数组是否为有序的方法
2015/03/27 PHP
PHP中static关键字以及与self关键字的区别
2015/07/01 PHP
使用jquery实现div的tab切换实例代码
2013/05/27 Javascript
兼容主流浏览器的JS复制内容到剪贴板
2014/12/12 Javascript
简单分析javascript面向对象与原型
2015/05/21 Javascript
jQuery动态添加可拖动元素完整实例(附demo源码下载)
2016/06/21 Javascript
jQuery日程管理插件fullcalendar使用详解
2017/01/07 Javascript
angular中两种表单的区别(响应式和模板驱动表单)
2018/12/06 Javascript
vue路由--网站导航功能详解
2019/03/29 Javascript
JS学习笔记之闭包小案例分析
2019/05/29 Javascript
JavaScript中var的重要性实例分析
2019/07/09 Javascript
Vue 实现前端权限控制的示例代码
2019/07/09 Javascript
javascript随机变色实例代码
2019/10/15 Javascript
JavaScript或jQuery 获取option value值方法解析
2020/05/12 jQuery
微信小程序使用GoEasy实现websocket实时通讯
2020/05/19 Javascript
Javascript confirm多种使用方法解析
2020/09/25 Javascript
[40:17]2018DOTA2亚洲邀请赛 4.5 淘汰赛 LGD vs Liquid 第一场
2018/04/06 DOTA
PHP webshell检查工具 python实现代码
2009/09/15 Python
python实现删除文件与目录的方法
2014/11/10 Python
深入讲解Python编程中的字符串
2015/10/14 Python
python原类、类的创建过程与方法详解
2019/07/19 Python
详解Django定时任务模块设计与实践
2019/07/24 Python
Python实现迪杰斯特拉算法过程解析
2020/09/18 Python
CSS3实现鼠标悬停显示扩展内容
2016/08/24 HTML / CSS
谈一谈HTML5本地存储技术
2016/03/02 HTML / CSS
.NET概念性的面试题
2012/02/29 面试题
测控技术与通信工程毕业生自荐信范文
2013/12/28 职场文书
护士在校生自荐信
2014/02/01 职场文书
打架检讨书300字
2014/02/02 职场文书
服装设计师求职信
2014/06/04 职场文书
四风问题原因分析及整改措施
2014/10/24 职场文书
工作会议简报
2015/07/20 职场文书
2015元旦感言
2015/12/09 职场文书
python中Pyqt5使用Qlabel标签播放视频
2022/04/22 Python
nginx代理实现静态资源访问的示例代码
2022/07/07 Servers