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 magic_quotes_gpc的一点认识与分析
Aug 18 PHP
wiki-shan写的php在线加密的解密程序
Sep 07 PHP
php 将excel导入mysql
Nov 09 PHP
php简单提示框alert封装函数
Aug 08 PHP
PHP学习笔记之二 php入门知识
Jan 12 PHP
php生成图形(Libchart)实例
Nov 06 PHP
分享最受欢迎的5款PHP框架
Nov 27 PHP
php判断两个日期之间相差多少个月份的方法
Jun 18 PHP
php+jquery+html实现点击不刷新加载更多的实例代码
Aug 12 PHP
PHP读取CSV大文件导入数据库的实例
Jul 24 PHP
TP3.2批量上传文件或图片 同名冲突问题的解决方法
Aug 01 PHP
Laravel 模型关联基础教程详解
Sep 17 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
星际争霸 Starcraft 秘技补丁
2020/03/14 星际争霸
php session 错误
2009/05/21 PHP
CentOS安装php v8js教程
2015/02/26 PHP
js网页滚动条滚动事件实例分析
2015/05/05 Javascript
jQuery实现的经典竖向伸缩菜单效果代码
2015/09/24 Javascript
Javascript技术难点之apply,call与this之间的衔接
2015/12/04 Javascript
轻松掌握JavaScript中的Math object数学对象
2016/05/26 Javascript
必备的JS调试技巧汇总
2016/07/20 Javascript
基于jQuery ligerUI实现分页样式
2016/09/18 Javascript
jQuery双向列表选择器DIV模拟版
2016/11/01 Javascript
jQuery Mobile和HTML5开发App推广注册页
2016/11/07 Javascript
Bootstrap基本插件学习笔记之折叠(22)
2016/12/08 Javascript
利用JS实现文字的聚合动画效果
2017/01/22 Javascript
详解nodeJS之二进制buffer对象
2017/06/03 NodeJs
微信小程序实现日历功能
2018/11/27 Javascript
node.js中npm包管理工具用法分析
2020/02/14 Javascript
使用JS实现鼠标放上图片进行放大离开实现缩小功能
2021/01/27 Javascript
在 Django/Flask 开发服务器上使用 HTTPS
2014/07/03 Python
在Django的URLconf中使用命名组的方法
2015/07/18 Python
python 根据正则表达式提取指定的内容实例详解
2016/12/04 Python
对python中Matplotlib的坐标轴的坐标区间的设定实例讲解
2018/05/25 Python
浅析Python 3 字符串中的 STR 和 Bytes 有什么区别
2018/10/14 Python
Python小游戏之300行代码实现俄罗斯方块
2019/01/04 Python
Python 字符串、列表、元组的截取与切片操作示例
2019/09/17 Python
给大家整理了19个pythonic的编程习惯(小结)
2019/09/25 Python
在Python3.74+PyCharm2020.1 x64中安装使用Kivy的详细教程
2020/08/07 Python
Python列表的深复制和浅复制示例详解
2021/02/12 Python
纽约的奢华内衣店:Journelle
2016/07/29 全球购物
米兰网婚纱礼服法国网上商店:Milanoo法国
2016/08/20 全球购物
英格兰橄榄球商店:England Rugby Store
2016/12/17 全球购物
UGG美国官网:购买UGG雪地靴、拖鞋和鞋子
2017/12/31 全球购物
社会学专业求职信
2014/07/17 职场文书
公司股东合作协议书
2014/09/14 职场文书
居委会四风问题个人对照检查材料
2014/09/25 职场文书
Python移位密码、仿射变换解密实例代码
2021/06/27 Python
手把手教你导入Go语言第三方库
2021/08/04 Golang