zoukankan      html  css  js  c++  java
  • php 倒计时出现0的情况

    2013年3月7日 09:31:30

    今天有反馈,说倒计时出现了-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);
    }
  • 相关阅读:
    mybatis+sql语句
    坐标转换
    sql语句含中文JDBC查询不到
    架构阅读笔记16
    架构阅读笔记15
    架构阅读笔记14
    windows安装imgaug包报错中Shapely
    java除法
    Java输入输出问题复习
    java自学,基础,入门
  • 原文地址:https://www.cnblogs.com/iLoveMyD/p/2947469.html
Copyright © 2011-2022 走看看