2013-02-21 71 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天开始日期到结束日期,但不包括结束日期。

您忘记了添加闰年。那就是四天多加 !!!