在计算PHP的日期出错(?)

时间:2013-02-21 15:38:39

标签: php date datetime date-math

<?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年的天数?

请帮忙。

4 个答案:

答案 0 :(得分: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

<强>参考

答案 1 :(得分:0)

你忘记了闰年。

答案 2 :(得分:0)

您的代码是正确的。那是两天之间有多少天。不要忘记闰年。

答案 3 :(得分:0)

老兄,答案是:

  

来自及包括:2002年1月1日星期二

     

至,但不包括:2021年12月31日星期五

     

从开始日期到结束日期为7304天,但不包括结束日期。

您忘记添加闰年。那是额外的四天 !!!