このコードを見てください:
$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";
出力はm diff: 0 y diff: 3 です。
間違った月差が返されるのはなぜですか?
興味深いことに、日付を「2001-08」と「1998-07」に変更すると、正しい月間隔 ==1 が返されます。
ありがとう!