2014-11-04 33 views
0

我正在使用DateTime :: diff()函數來回顯當有10分鐘差異時,剩餘的分鐘數。但是由於某種原因,微小的差別是一個。爲什麼DateTime:diff()關閉一分鐘?

例如,如果我想要得到的11:20和11:30之間的區別,它會顯示而不是左側10

9分鐘還使用了「現在」的時候,這是唯一的真實。如果我隱式輸入「11:20」

$date = new DateTime("now", new DateTimeZone("America/New_York")); 

然後它會顯示10分鐘的差異。

這是我寫的代碼的例子..

$closing_time = "11:30:00"; 


$date = new DateTime("now", new DateTimeZone("America/New_York")); 
$time_now = $date->format("H:i:s"); 
echo $time_now. "<br>"; 


$time_remaining = $date->diff(new DateTime($closing_time,new DateTimeZone("America/New_York"))); 

$minutes = $time_remaining->i; 
+0

檢查秒數... – 2014-11-04 16:32:23

+1

按分鐘計算時間時,您正舍入當前分鐘的秒數。 – Flosculus 2014-11-04 16:32:24

+0

@Flosculus感謝您的回覆。我現在看到爲什麼會發生這種情況。我已經嘗試過使用'ceil($分鐘)',它仍然沒有什麼區別...我可以採取其他任何方式? – 2014-11-04 16:40:00

回答

1

正如我在第一個評論說,檢查seconds

$time_remaining->s; 

然後根據您的喜好取整,考慮它(例如:>=30?)。

相關問題