0

我正在运行一个快速测试,以帮助一位同事解决与 PHP 中使用该DateTime对象的日期相关的问题。

令人惊讶的是,当我运行这段代码时:

namespace Tests\DateTime {
    $date1 = new \DateTime("2013-01-01", new \DateTimeZone("UTC"));
    $date2 = new \DateTime("2014-01-01", new \DateTimeZone("UTC"));
    $interval = $date1->diff($date2);
    print $interval->m;
}

我得到0作为返回值。当您使用它来测量同一年内这两个日期之间的差异时,一切正常。1,2,3,4,5, ..., 11从一月到十二月的月差。

为什么会这样?

4

1 回答 1

2

我认为你得到了零,因为你只打印几个月的差异。您可能希望通过DateInterval::format运行间隔。

于 2013-07-10T11:48:44.470 回答