2013-02-21 143 views
-1
<?php 
$date1 = "2002-1-1"; 
$date2 = "2021-12-31"; 
$deff = abs(strtotime($date2) - strtotime($date1)); 
$daycount = $deff/(60 * 60 * 24); 
echo $daycount; 
?> 

爲什麼答案是7304而不是7300,因爲我試圖計算20年的天數?日計算錯誤(?)PHP

請幫忙。

+0

那段時間沒有4次閏日嗎? – 2013-02-21 15:40:45

+0

列入閏年? – Alex 2013-02-21 15:40:58

+0

7304是正確的答案,我檢查與在datediff datediff :) – 2013-02-21 15:42:06

回答

2

使用的DateTime此:

$datetime1 = new DateTime("2002-1-1"); 
$datetime2 = new DateTime("2021-12-31"); 
$interval = $datetime1->diff($datetime2); 
$elapsed = $interval->format('%a days'); 
echo $elapsed; 

See it in action

參考

+0

我想這意味着輸出是正確的。 – 2013-02-21 15:44:30

+0

對不起約翰孔德先生。它仍然返回7304天。 – user2095988 2013-02-21 16:08:35

0

你忘記了閏年。

0

您的代碼是正確的。這兩天之間有多少天。不要忘記閏年。

0

老兄,答案是:

和包括::週二零零二年一月一日

,但不包括:週五2021 12月31日

距離7304天開始日期到結束日期,但不包括結束日期。

您忘記了添加閏年。那就是四天多加 !!!