PHP-日期时间月差异不考虑年差异
我花了好几个小时想弄明白这一点,但没有结果:一个人如何计算两个日期之间整整几个月的差异,又如何计算年份? 下面的代码PHP-日期时间月差异不考虑年差异,php,datetime,Php,Datetime,我花了好几个小时想弄明白这一点,但没有结果:一个人如何计算两个日期之间整整几个月的差异,又如何计算年份? 下面的代码 $assignedDate=新日期时间('2011-02-03'); $firstDate=新日期时间('2013-03-03'); $interval=$assignedDate->diff($firstDate); $months=(int)$interval->格式(“%m”); 我坚信两者之间的差异为1,但是,这不适用于我的应用程序,49将是预期的结果,我在这个奇妙的地
$assignedDate=新日期时间('2011-02-03');
$firstDate=新日期时间('2013-03-03');
$interval=$assignedDate->diff($firstDate);
$months=(int)$interval->格式(“%m”);
我坚信两者之间的差异为1,但是,这不适用于我的应用程序,49将是预期的结果,我在这个奇妙的地方调查并发现了这段代码,但得到了“错误的字符串串联运算符”,因此我假设问题出在它们的stringy输出和put(int)上领先两名,但得到0:
echo($diff->format('%y')*12)+$diff->format('%m'))。“整月差”;
是否有可靠的解决方案来查找一年中两个日期之间的月差?无需使用
format()
方法格式化数字。您只需访问对象的公共属性:
$months=$interval->m+$interval->y*12;
如果您尝试为它们使用时间戳,然后使用函数获取差异,会怎么样?或者看看这个:啊,是的,非常好。但是,如果我的第一个日期落后于指定的日期,它将返回一个正数,而不是期望的负数。有办法解决这个问题吗?@PwnageAtPwn:请参阅公共属性
invert
,或者只使用->format('%R')
(或'%R'
)方法格式化符号,如。