PHP Get month number and timezone
少しはまりました。
php で任意の指定期間の月数を求める、です。ざっくりこんな感じです。
$d1 = new DateTime('2021-07-01');
$d2 = new DateTime('2022-05-31');
$interval = $d2->diff($d1);
return $interval->m;
期待値は 10 ですが 11 となります。
ちなみにExcelで以下のようにすると 10 となります。
DATEDIF("2021-07-01","2022-05-31","m")
ググってみるとありました。タイムゾーンのようです。
$timezone = new DateTimeZone('UTC');
を追加して、
$d1 = new DateTime('2021-07-01', $timezone);
としますと期待値 10 が取得できました。
今回は月数のみなのでタイムゾーン指定でOKとします。
ケースによっては考慮しなくちゃいけないことがあるようです。