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 之入门篇
Dec 04 PHP
php 获得汉字拼音首字母的函数
Aug 01 PHP
php根据分类合并数组的方法实例详解
Nov 06 PHP
codeigniter教程之多文件上传使用示例
Feb 11 PHP
php截取字符串之截取utf8或gbk编码的中英文字符串示例
Mar 12 PHP
CI框架在CLI下执行占用内存过大问题的解决方法
Jun 17 PHP
PHP使用pcntl_fork实现多进程下载图片的方法
Dec 16 PHP
PHP获取网页所有连接的方法(附demo源码下载)
Mar 30 PHP
总结的一些PHP开发中的tips(必看篇)
Mar 24 PHP
php实现自定义中奖项数和概率的抽奖函数示例
May 26 PHP
PHP中register_shutdown_function函数的基础介绍与用法详解
Nov 28 PHP
php传值和传引用的区别点总结
Nov 19 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,不用COM,生成excel文件
2006/10/09 PHP
php读取文件内容的三种可行方法示例介绍
2014/02/08 PHP
PHP中数据类型转换的三种方式
2015/04/02 PHP
fckeditor上传文件按日期存放及重命名方法
2015/05/22 PHP
Symfony2函数用法实例分析
2016/03/18 PHP
WAF的正确bypass
2017/01/05 PHP
JSON辅助格式化处理方法
2013/03/26 Javascript
window.event.keyCode兼容IE和Firefox实现js代码
2013/05/30 Javascript
js购物车实现思路及代码(个人感觉不错)
2013/12/23 Javascript
jQuery源码解读之removeClass()方法分析
2015/02/20 Javascript
node.js路径处理方法以及绝对路径详解
2021/03/04 Javascript
微信小程序 火车票查询实例讲解
2016/10/17 Javascript
vue组件编写之todolist组件实例详解
2018/01/22 Javascript
详解基于Vue2.0实现的移动端弹窗(Alert, Confirm, Toast)组件
2018/08/02 Javascript
vue项目中使用lib-flexible解决移动端适配的问题解决
2018/08/23 Javascript
vue操作动画的记录animate.css实例代码
2019/04/26 Javascript
RxJS的入门指引和初步应用
2019/06/15 Javascript
js实现表格数据搜索
2020/08/09 Javascript
Map与WeakMap类型在JavaScript中的使用详解
2020/11/18 Javascript
JavaScript实现前端倒计时效果
2021/02/09 Javascript
基于pip install django失败时的解决方法
2018/06/12 Python
Django获取model中的字段名和字段的verbose_name方式
2020/05/19 Python
Pytest如何使用skip跳过执行测试
2020/08/13 Python
HTML5新增属性data-*和js/jquery之间的交互及注意事项
2017/08/08 HTML / CSS
Snapfish英国:在线照片打印和个性化照片礼品
2017/01/13 全球购物
美国电视购物:QVC
2017/02/06 全球购物
澳大利亚鞋仓库:Shoe Warehouse
2019/07/25 全球购物
宝信软件JAVA工程师面试经历
2012/08/19 面试题
JSP&Servlet技术面试题
2015/05/21 面试题
关于人生的感言
2014/01/17 职场文书
同学聚会主持词
2014/03/18 职场文书
2014法制宣传日活动总结
2014/07/09 职场文书
预防艾滋病宣传活动总结
2015/05/09 职场文书
《我们的民族小学》教学反思
2016/02/19 职场文书
python3.7.2 tkinter entry框限定输入数字的操作
2021/05/22 Python
Java 异步任务计算FutureTask
2022/04/28 Java/Android