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数组对比函数,存在交集则返回真,否则返回假
Feb 03 PHP
用PHP的超级变量$_POST获取HTML表单(HTML Form) 数据
May 07 PHP
str_replace只替换一次字符串的方法
Apr 09 PHP
领悟php接口中interface存在的意义
Jun 27 PHP
深入解析fsockopen与pfsockopen的区别
Jul 05 PHP
保存到桌面、设为桌面且带图标的PHP代码
Nov 19 PHP
PHP获取数组最后一个值的2种方法
Jan 21 PHP
百度工程师讲PHP函数的实现原理及性能分析(一)
May 13 PHP
Yii+MYSQL锁表防止并发情况下重复数据的方法
Jul 14 PHP
php 算法之实现相对路径的实例
Oct 17 PHP
PHP中register_shutdown_function函数的基础介绍与用法详解
Nov 28 PHP
php写入文件不覆盖的实例讲解
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
索尼SONY SRF-S83/84电路分析和打磨
2021/03/02 无线电
PHP正则匹配操作简单示例【preg_match_all应用】
2017/07/10 PHP
TP5框架请求响应参数实例分析
2019/10/17 PHP
TNC vs RR BO3 第一场 2.14
2021/03/10 DOTA
WEB高性能开发之疯狂的HTML压缩
2010/06/19 Javascript
JavaScript入门之事件、cookie、定时等
2011/10/21 Javascript
原生js做的手风琴效果的导航菜单
2013/11/08 Javascript
JavaScript设置首页和收藏页面的小例子
2013/11/11 Javascript
使用JS取得焦点(focus)元素代码
2014/03/22 Javascript
AngularJS 使用$sce控制代码安全检查
2016/01/05 Javascript
微信小程序分页加载的实例代码
2017/07/11 Javascript
Angular限制input框输入金额(是小数的话只保留两位小数点)
2017/07/13 Javascript
element ui table 增加筛选的方法示例
2018/11/02 Javascript
nodejs微信开发之接入指南
2019/03/17 NodeJs
Vue 理解之白话 getter/setter详解
2019/04/16 Javascript
详解Vue中的MVVM原理和实现方法
2020/07/15 Javascript
Python 正则表达式入门(中级篇)
2016/12/07 Python
详解python列表生成式和列表生成式器区别
2019/03/27 Python
python中对数据进行各种排序的方法
2019/07/02 Python
django使用django-apscheduler 实现定时任务的例子
2019/07/20 Python
Python中常用的os操作汇总
2020/11/05 Python
Python中BeautifulSoup通过查找Id获取元素信息
2020/12/07 Python
python 利用openpyxl读取Excel表格中指定的行或列教程
2021/02/06 Python
用CSS3的box-reflect来制作倒影效果
2016/11/15 HTML / CSS
HTML5拖拽文件上传的示例代码
2021/03/04 HTML / CSS
中国综合网上购物商城:苏宁易购
2016/08/09 全球购物
世界上最大的街头服饰网站:Karmaloop
2017/02/04 全球购物
Charles & Keith欧盟:新加坡时尚品牌
2019/08/01 全球购物
网上常见的一份Linux面试题(多项选择部分)
2014/09/09 面试题
2014领导干部四风问题查摆思想汇报
2014/09/13 职场文书
一年级语文上册复习计划
2015/01/17 职场文书
爱国主义教育主题班会
2015/08/13 职场文书
高一英语教学反思
2016/03/03 职场文书
golang中的空接口使用详解
2021/03/30 Python
HTML+CSS+JS实现图片的瀑布流布局的示例代码
2021/04/22 HTML / CSS
浅谈CSS不规则边框的生成方案
2021/05/25 HTML / CSS