使用DateInterval计算两个日期之间的月份,但一年内没有换行

问题描述:

我知道这个主题非常穷尽,但显然还不够!使用DateInterval计算两个日期之间的月份,但一年内没有换行

$temp_d1 = new DateTime(date('Y-m-d', $fromTime)); // 2012-01-01 
$temp_d2 = new DateTime(date('Y-m-d', $endTime)); // 2013-02-01 
$interval = $temp_d2->diff($temp_d1); 
$monthsAhead = $interval->format('%m'); // returns 1, but I am expecting 13 

如何计算两个日期之间的月份数,而不用在12个月的范围内换行?

我混淆了什么:

$monthsAhead = $interval->format('%m'); 

一样。

显然,格式(“%M”)是刚刚格式化DateInterval对象的月份部件,不一定“给我的时间间隔为一个数个月的”。

在我而言,我一直在寻找/做到这一点:

$monthsAhead = $interval->m + ($interval->y * 12); 

http://www.php.net/manual/en/class.dateinterval.php

希望这有助于其他傻瓜的未来!