PHP - DateTime月份差异不计入年份差异

时间:2013-12-16 17:53:06

标签: php datetime

我一直试图将这个问题弄清楚几个小时,但无济于事:两个日期之间的完整月份如何获得差异,但是会计算年份?

下面的代码
$assignedDate = new DateTime('2011-02-03');
$firstDate = new DateTime('2013-03-03');
$interval = $assignedDate->diff($firstDate);
$months = (int)$interval->format('%m');

坚信两者之间的区别是1,但是,这不适用于我的应用程序,49这将是预期的结果,我已经调查并从这个奇妙的地方找到了这个代码但是得到了"错误的字符串连接运算符",所以我认为问题在于它们的字符串输出和put(int)在两者之前,但得到0:

echo (($diff->format('%y') * 12) + $diff->format('%m')) . " full months difference";

是否有可靠的解决方案来查找两个日期之间的月份差异?

1 个答案:

答案 0 :(得分:0)

无需使用format()方法格式化数字。您只需访问DateInterval对象上的公共属性:

$months = $interval->m + $interval->y * 12;

demo