0

可能重复:
如何从 PHP 的 DateTime::diff 获取聚合天数?

我有这样的事情:

$daysDiff = intval($currentDate->diff($dueDate)->format('%R%a'));

在 DateInterval::format 的 php 文档中说:

%R -- "+" for positive interval, "-" for negative

%a -- the total count of days i the interval

我对结果有疑问,总是以天数返回 6015,并带有正确的符号 + 或 -。$currentdate我尝试为和使用不同的日期$dueDate。任何人都可以告诉我为什么会出现这种行为。

谢谢

4

1 回答 1

0

我想你可能用错了。

来自 DateTime::diff 的手册页

$datetime1 = new DateTime('2009-10-11');
$datetime2 = new DateTime('2009-10-13');

$interval = $datetime1->diff($datetime2);
echo $interval->format('%R%a days');

尝试:

$interval = $currentDate->diff($dueDate);
echo $interval->format('%R%a');

编辑添加....

嗯。我刚刚运行了你的代码,它可以工作。问题必须与您如何生成日期时间有关:

$datetime1 = new DateTime('2009-10-11');
$datetime2 = new DateTime('2009-10-13');

$daysDiff = intval($datetime1->diff($datetime2)->format('%R%a'));
echo $daysDiff

输出'2'

于 2012-08-23T17:38:26.870 回答