两个日期之间的差异包括在内

时间:2013-07-09 13:51:11

标签: php

以下代码为我提供了正确的答案

//$start_date = '1/1/2013'
//$end_date = '1/7/2013'
$diff_num = strtotime($end_date) - strtotime($start_date) + 1; 
$diff_days = ceil($diff_num + 86400) / 86400;

然而,在我看来,必须有一个比这更好的答案。我不想添加一天完全包含范围。我希望包括范围内的所有日子,而不是介于两者之间的空间。 谢谢你的帮助。

1 个答案:

答案 0 :(得分:1)

您可以使用DateTime对象,如下所示:

$datetime1 = new DateTime('2013-1-1');
$datetime2 = new DateTime('2013-7-1');
$interval = $datetime1->diff($datetime2);
$interval->add(new DateInterval('P1D')); // adds one day

但是,是的,你肯定必须“手动”添加一天。