看一看这段代码:PHP日期间隔 - 错月的差异
$first = DateTime::createFromFormat('Y-m', '2001-07');
$last = DateTime::createFromFormat('Y-m', '1998-06');
$interval = $first->diff($last);
echo "m diff: ".$interval->m." y diff: ".$interval->y."\n";
输出为米DIFF:0 Y,DIFF:3
为什么它返回一个错误月的差异?
有趣的是,如果我将日期更改为'2001-08'和'1998-07',它会返回正确的月份间隔== 1。
谢谢!
如果您添加一天(如'2001-07-01'和'1998-06-01',格式为'Ymd' –
会发生什么?不能这样做,因为我从数据库中获取日期,并且它可能包含在我的情况下,这一天是无关紧要的 - 只有一个月的差异是重要的 – user2723490