1
我正在寫一些PHP代碼,用於根據存儲在mysql表中的時間顯示時間爲'1分鐘','2分鐘','3小時'等,並與當前時間進行比較。我的當前代碼如下:然而四捨五入錯誤
$dif = (strtotime("-0 minutes") - strtotime($time))/60;
if($dif < 1){
return "Just Now";
}elseif($dif < 2){
return round($dif, 0, PHP_ROUND_HALF_DOWN) . " Min";
}elseif($dif < 60){
return round($dif, 0, PHP_ROUND_HALF_DOWN) . " Mins";
}elseif($dif/60 < 2){
return round($dif/60, 0, PHP_ROUND_HALF_DOWN) . " Hour";
}elseif($dif/60 < 24){
return round($dif/60, 0, PHP_ROUND_HALF_DOWN) . " Hours";
}elseif($dif/1440 < 2){
return round($dif/1440, 0, PHP_ROUND_HALF_DOWN) . " Day";
}elseif($dif/1440 < 4){
return round($dif/1440, 0, PHP_ROUND_HALF_DOWN) . " Days";
}else{
$datepieces = explode(" ", $time);
$date = date("j F, Y", strtotime($datepieces[0]));
return $date;
}
我的問題是,則返回從「1最小」定時器切換到「2分鐘」,時間大約30秒「2分鐘」時。任何人都可以協助發現我在舍入時發生的錯誤,這會導致這種情況發生?
這與mysql有什麼關係? –
'2分鐘'將在任何時候以'1.50 - 1.99'的'$ dif'值返回。你期望有什麼不同嗎? –
Gordon Linoff - 我應該提到,傳入的日期/時間格式是mysql,不確定這是多麼相關,但我認爲這可能有助於傳遞數據。 – JaanRaadik