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); }
相關文章
- php訪問目標網站時出現亂碼的情況PHP網站
- Flutter倒數計時/計時器的實現Flutter
- 倒數計時
- js實現指定時間倒數計時JS
- ReactiveCocoa 實現 按鈕倒數計時React
- jquery實現60秒倒數計時jQuery
- js實現活動倒數計時JS
- Jquery 實現頁面倒數計時的功能jQuery
- Swift 5進入釋出倒數計時Swift
- JavaScript倒數計時JavaScript
- 商城倒數計時
- JavaScript 前端倒數計時糾偏實現JavaScript前端
- Js Jquery 實現的按鈕倒數計時整理JSjQuery
- 爬蟲代理為什麼會出現超時的情況?爬蟲
- 倒數計時34天
- 倒數計時2天!
- 倒數計時1天
- 倒數計時2天
- SQL中除數為0處理情況演示SQL
- 直播平臺搭建,計時和倒數計時功能的分別實現
- 倒數計時(天、時、分、秒)
- canvas環形倒數計時Canvas
- 用 bash 倒數計時日期
- Android中handler倒數計時Android
- CountDownTimer使用——android倒數計時Android
- 小程式倒數計時深究
- 點選button倒數計時
- Axure之倒數計時效果
- laravel 9 倒數計時了Laravel
- 如何寫好倒數計時
- 直播小程式原始碼,vue實現時間倒數計時原始碼Vue
- js自動倒數計時程式碼,倒數計時完畢時自動停止迴圈JS
- win10 自帶倒數計時如何設定_win10開啟計時器倒數計時的方法Win10
- 視訊直播系統原始碼,倒數計時顯示,商品秒殺倒數計時原始碼
- 直播系統原始碼,實現倒數計時,定時任務原始碼
- 關於docker-compose up -d 出現超時情況處理Docker
- iOS倒數計時的探究與選擇iOS
- Flutter 中“倒數計時”的那些事兒Flutter
- 在導數為0時極值點仍然難求的情況下用梯度下降法逼近梯度