我一直试图将这个问题弄清楚几个小时,但无济于事:两个日期之间的完整月份如何获得差异,但是会计算年份?
下面的代码$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";
是否有可靠的解决方案来查找两个日期之间的月份差异?
答案 0 :(得分:0)
无需使用format()
方法格式化数字。您只需访问DateInterval
对象上的公共属性:
$months = $interval->m + $interval->y * 12;
的 demo 强>