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 相关文章推荐
phpMyAdmin 安装配置方法和问题解决
Jun 08 PHP
PHP 数组基础知识小结
Aug 20 PHP
php下清空字符串中的HTML标签的代码
Sep 06 PHP
浅谈PHP变量作用域以及地址引用问题
Dec 27 PHP
php 判断服务器操作系统的类型
Feb 17 PHP
Codeigniter检测表单post数据的方法
Mar 21 PHP
PHP环境中Memcache的安装和使用
Nov 05 PHP
PHP获取昨天、今天及明天日期的方法
Feb 03 PHP
Thinkphp自定义代码生成工具及用法说明(附下载地址)
May 27 PHP
PHPStrom 新建FTP项目以及在线操作教程
Oct 16 PHP
使用Git实现Laravel项目的自动化部署
Nov 24 PHP
php 多进程编程父进程的阻塞与非阻塞实例分析
Feb 22 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
ThinkPHP打开验证码页面显示乱码的解决方法
2014/12/18 PHP
PHP实现带进度条的Ajax文件上传功能示例
2019/07/02 PHP
php 比较获取两个数组相同和不同元素的例子(交集和差集)
2019/10/18 PHP
document.documentElement &amp;&amp; document.documentElement.scrollTop
2007/12/01 Javascript
js innerHTML 的一些问题的解决方法
2008/06/22 Javascript
jQuery图片轮播滚动切换代码分享
2020/04/20 Javascript
javascript 小数乘法结果错误的处理方法
2016/07/28 Javascript
走进AngularJs之过滤器(filter)详解
2017/02/17 Javascript
React学习笔记之事件处理(二)
2017/07/02 Javascript
前端开发不得不知的10个最佳ES6特性
2017/08/30 Javascript
使用nodejs+express实现简单的文件上传功能
2017/12/27 NodeJs
jQuery实现的两种简单弹窗效果示例
2018/04/18 jQuery
JS实现的透明度渐变动画效果示例
2018/04/28 Javascript
给localStorage设置一个过期时间的方法分享
2018/11/06 Javascript
vue使用i18n实现国际化的方法详解
2019/09/05 Javascript
js里面的变量范围分享
2020/07/18 Javascript
[01:55]2014DOTA2国际邀请赛快报:国土生病 紧急去医院治疗
2014/07/10 DOTA
测试、预发布后用python检测网页是否有日常链接
2014/06/03 Python
在Python的Flask框架中实现全文搜索功能
2015/04/20 Python
浅析Python中signal包的使用
2015/11/13 Python
python实现人脸识别代码
2017/11/08 Python
Django重装mysql后启动报错:No module named ‘MySQLdb’的解决方法
2018/04/22 Python
浅谈python中真正关闭socket的方法
2018/12/18 Python
python中struct模块之字节型数据的处理方法
2019/08/27 Python
python实现超市商品销售管理系统
2019/11/22 Python
CSS3实现3D翻书效果
2016/06/20 HTML / CSS
天巡全球:Skyscanner Global
2017/06/20 全球购物
迪卡侬印尼体育用品商店:Decathlon印尼
2020/03/11 全球购物
大学活动邀请函
2014/01/28 职场文书
人力资源专员岗位职责
2014/01/30 职场文书
爱祖国演讲稿
2014/05/04 职场文书
2015年世界环境日演讲稿
2015/03/18 职场文书
学生会宣传部竞选稿
2015/11/21 职场文书
市场营销计划书
2019/04/24 职场文书
python基础之文件处理知识总结
2021/05/23 Python
CSS巧用渐变实现高级感背景光动画
2021/12/06 HTML / CSS