使用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');

显然,format('%m')只是格式化DateInterval对象的月份组件,而不一定是'给我的间隔作为月数'。

在我的例子中,我正在寻找/做这个:

$monthsAhead = $interval->m + ($interval->y * 12);
http://www.php.net/manual/en/class.dateinterval.php

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

相关内容

  • 没有找到相关文章

最新更新