PHPの時刻系の罠 createFromFormat()使用時に、月末にだけ年月日の取得がおかしくなる。
PHPの時刻系の罠
月末にだけ年月日の取得がおかしくなる。
//月末31日などに下記を実行すると七月と判定されてしまう問題。
DateTime::createFromFormat('Y/m', '2024/06');
しかもこれが、月末にしか発生しないのでバグとしては発見しにくい。
(もちろんcreateFromFormatメソッドの仕様を事前確認しようというはもっともですよねー、うん、はい)
PHP: createFromFormat使用時の注意点
公式マニュアルの情報はこちら
https://www.php.net/manual/ja/datetimeimmutable.createfromformat.php全てのフィールドは現在の日付/時刻で初期化されます。