PHP - DateTime diff()显示两个日期的0个月,一年差异?

时间:2013-07-10 11:44:03

标签: php datetime diff utc

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

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

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月到12月,1,2,3,4,5, ..., 11个月的差异。

为什么会这样?

1 个答案:

答案 0 :(得分:2)

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