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制作静态网站的模板框架(四)
Oct 09 PHP
PHP 编程请选择正确的文本编辑软件
Dec 21 PHP
IIS下PHP连接数据库提示mysql undefined function mysql_connect()
Jun 04 PHP
PHP setcookie指定domain参数后,在IE下设置cookie失效的解决方法
Sep 09 PHP
php读取文件内容的几种方法详解
Jun 26 PHP
解析array splice的移除数组中指定键的值,返回一个新的数组
Jul 02 PHP
显示youtube视频缩略图和Vimeo视频缩略图代码分享
Feb 13 PHP
destoon调用企业会员公司形象图片的实现方法
Aug 21 PHP
php通过修改header强制图片下载的方法
Mar 24 PHP
PHP的Yii框架中View视图的使用进阶
Mar 29 PHP
PHP使用ajax的post方式下载excel文件简单示例
Aug 06 PHP
laravel 获取当前url的别名方法
Oct 11 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
3种平台下安装php4经验点滴
2006/10/09 PHP
IIS环境下快速安装、配置和调试PHP5.2.0
2006/12/17 PHP
php数据库连接时容易出错的特殊符号问题
2010/09/01 PHP
PHP的变量类型和作用域详解
2014/03/12 PHP
PHP 数据结构队列(SplQueue)和优先队列(SplPriorityQueue)简单使用实例
2015/05/12 PHP
PHP的Yii框架中创建视图和渲染视图的方法详解
2016/03/29 PHP
thinkphp3.2.3版本的数据库增删改查实现代码
2016/09/22 PHP
PHP简单获取上月、本月、近15天、近30天的方法示例
2017/07/03 PHP
laravel 框架结合关联查询 when()用法分析
2019/11/22 PHP
国外Lightbox v2.03.3 最新版 下载
2007/10/17 Javascript
js中eval详解
2012/03/30 Javascript
js获取或设置当前窗口url参数的小例子
2013/10/14 Javascript
jquery用offset()方法获得元素的xy坐标
2014/09/06 Javascript
js实现有时间限制消失的图片方法
2015/02/27 Javascript
浅谈JS对html标签的属性的干预以及对CSS样式表属性的干预
2017/06/25 Javascript
Vue2.0 给Tab标签页和页面切换过渡添加样式的方法
2018/03/13 Javascript
vue实现绑定事件的方法实例代码详解
2019/06/20 Javascript
JS操作Fckeditor的一些常用方法(获取、插入等)
2020/02/19 Javascript
Node.js API详解之 module模块用法实例分析
2020/05/13 Javascript
[16:27]DOTA2 HEROS教学视频教你分分钟做大人-艾欧
2014/06/11 DOTA
Python获取网页上图片下载地址的方法
2015/03/11 Python
详解Python中最难理解的点-装饰器
2017/04/03 Python
为什么入门大数据选择Python而不是Java?
2018/03/07 Python
Python使用Matplotlib模块时坐标轴标题中文及各种特殊符号显示方法
2018/05/04 Python
linux中如何使用python3获取ip地址
2019/07/15 Python
python飞机大战pygame游戏背景设计详解
2019/12/17 Python
使用Python实现牛顿法求极值
2020/02/10 Python
Nike德国官网:Nike.com (DE)
2018/11/13 全球购物
Diamondback自行车:拥有你的冒险
2019/04/22 全球购物
语文教学随笔感言
2014/02/18 职场文书
护理中职生求职信范文
2014/02/24 职场文书
领导班子个人对照检查剖析材料
2014/09/29 职场文书
行政文员岗位职责
2015/02/04 职场文书
初中数学教学反思范文
2016/02/17 职场文书
CSS3 制作的彩虹按钮样式
2021/04/11 HTML / CSS
Redis入门教程详解
2021/08/30 Redis