【PHP】【DateTime】翌日~指定日(2週間、1ヵ月間後等)までの日付を出力する
※本ページのリンクにはプロモーションが含まれています。
こんにちは、Ryohei(@ityryohei)です!
本記事では、PHPのDateTimeで翌日~指定日(2週間、1ヵ月)までの日付を出力する方法をご紹介しています。
PHPで翌日から指定日までの期間の日付を出力したいんだけど、良い方法ないかな?
上記の疑問にお答えします。
では、解説していきます。DateTimeで指定日後の日付を取得するには
DateTimeでは、相対的な書式を使って指定日後の日付を取得することができます。例えば1日後、1週間後、1ヵ月後、1年後等を指定する場合は下記のように記述します。
<?php new DateTime('+1 day'); //1日後 new DateTime('+1 week'); //1週間後 new DateTime('+1 month'); //1ヵ月後 new DateTime('+1 year'); //1年後
他にも便利な書式が用意されていますので、詳しくは下記をご参照ください。
本記事では、上記の書式を使って、翌日から指定日後までの日付を出力してみたいと思います。出力する間隔は1日単位とし、繰り返し処理で日付を出力します。
DateTimeで翌日~指定日までの日付を出力する
下記が指定日までの日付を出力するプログラムです。開始日と終了日を指定して繰り返し処理で日付を出力します。
<?php $start = 1; //開始日(翌日) $end = 14; //終了日(14日後) for($i = $start; $i <= $end; $i++){ $dateTime = new DateTime('+'.$i.' day'); echo $date = $dateTime->format('Y年m月d日(w)').'<br>'; }
実行結果は下記の通りです。(実行日は2022年6月1日です。)
実行結果
2022年06月02日(4) 2022年06月03日(5) 2022年06月04日(6) 2022年06月05日(0) 2022年06月06日(1) 2022年06月07日(2) 2022年06月08日(3) 2022年06月09日(4) 2022年06月10日(5) 2022年06月11日(6) 2022年06月12日(0) 2022年06月13日(1) 2022年06月14日(2) 2022年06月15日(3)
実行結果を確認すると、実行日を基準に翌日~指定日(14日後)までの日付が日単位で出力されています。曜日に関しては曜日番号を出力しているだけですので、日本の曜日を表示する必要がある場合は、別途配列を用意して出力していただければと思います。
最後に
私事ですが、最近久しぶりにPHPでミニマムなシステムを構築しています。ロジックを考えるのが楽しくて、1日の経過がとても早く感じます。フレームワークでゴリゴリ開発するのも楽しいですが、一から設計して、ロジックを考えて、コーディングして、デバッグして、フルスクラッチにしかない面白さもありますよね。一人で開発するのはとても良い刺激になりますので、もっと個人開発に時間を割いてもいいかもしれませんね!
以上、PHPのDateTimeで翌日~指定日(2週間、1ヵ月間後等)までの日付を出力する方法のご紹介でした!