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类
Jul 15 PHP
Ajax PHP简单入门教程代码
Apr 25 PHP
PHP排序之二维数组的按照字母排序实现代码
Aug 13 PHP
PHP获取当前页面完整URL的实现代码
Jun 10 PHP
PHP cdata 处理(详细介绍)
Jul 05 PHP
php switch语句多个值匹配同一代码块应用示例
Jul 29 PHP
ECshop 迁移到 PHP7版本时遇到的兼容性问题
Feb 15 PHP
图文详解PHP环境搭建教程
Jul 16 PHP
PHP中的Iterator迭代对象属性详解
Apr 12 PHP
Thinkphp5+plupload实现的图片上传功能示例【支持实时预览】
May 08 PHP
Yii2框架配置文件(Application属性)与调试技巧实例分析
May 27 PHP
TP5框架页面跳转样式操作示例
Apr 05 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
用PHP读取超大文件的实例代码
2012/04/01 PHP
深入理解PHP中的Session和Cookie
2013/06/21 PHP
一个好用的PHP验证码类实例分享
2013/12/27 PHP
jquery 仿QQ校友的DIV模拟窗口效果源码
2010/03/24 Javascript
JavaScript prototype属性使用说明
2010/05/13 Javascript
javascript将数组插入到另一个数组中的代码
2013/01/10 Javascript
DOM基础教程之使用DOM + Css
2015/01/20 Javascript
Bootstrap零基础入门教程(三)
2016/07/18 Javascript
轻松搞定js表单验证
2016/10/13 Javascript
Bootstrap基本插件学习笔记之按钮(21)
2016/12/08 Javascript
BootStrap的select2既可以查询又可以输入的实现代码
2017/02/17 Javascript
用JavaScript做简易的购物车的代码示例
2017/10/20 Javascript
JavaScript中正则表达式使数字、中文或指定字符高亮显示
2017/10/31 Javascript
JavaScript中filter的用法实例分析
2019/02/27 Javascript
解决layui表格内文本超出隐藏的问题
2019/09/12 Javascript
基于Vue+ElementUI的省市区地址选择通用组件
2019/11/20 Javascript
微信小程序实现打卡签到页面
2020/09/21 Javascript
浅谈python多线程和队列管理shell程序
2015/08/04 Python
python 出现SyntaxError: non-keyword arg after keyword arg错误解决办法
2017/02/14 Python
ubuntu中配置pyqt4环境教程
2017/12/27 Python
详解python算法之冒泡排序
2019/03/05 Python
pytorch 自定义数据集加载方法
2019/08/18 Python
Python+OpenCV实现旋转文本校正方式
2020/01/09 Python
Python requests模块cookie实例解析
2020/04/14 Python
Django实现前台上传并显示图片功能
2020/05/29 Python
CSS3移动端vw+rem不依赖JS实现响应式布局的方法
2019/01/23 HTML / CSS
CSS3 不定高宽垂直水平居中的几种方式
2020/03/26 HTML / CSS
口头翻译求职人自荐信
2013/12/07 职场文书
网络管理员岗位职责
2014/03/17 职场文书
村主任群众路线个人对照检查材料
2014/09/26 职场文书
教师个人学习总结
2015/02/11 职场文书
环保建议书范文
2015/09/14 职场文书
Java实现多线程聊天室
2021/06/26 Java/Android
分析ZooKeeper分布式锁的实现
2021/06/30 Java/Android
如何避免mysql启动时错误及sock文件作用分析
2022/01/22 MySQL
Redis之RedisTemplate配置方式(序列和反序列化)
2022/03/13 Redis