【发布时间】:2013-07-10 11:44:02
【问题描述】:
我正在运行一个快速测试,以帮助一位同事使用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,2,3,4,5, ..., 11 从 1 月到 12 月的月差。
为什么会这样?
【问题讨论】:
-
如果你只想有几个月,这应该是 $monthDiff=$interval->y*12+interval->m;
-
正是我想要的!非常感谢:)
-
如果你做 var_dump($interval);一切都会揭晓。