DatePeriodクラスを使って日付のレンジを指定
DatePeriodクラスを使うことによって、日付のデータをまとめて取得することができる。
calendar.php
$period = new DatePeriod(
new DateTime('first day of this month'),
new DateInterval('P1D'),
new DateTime('first day of next month')
);
//今月の月初から月末までの日付データを取得することができる
第1引数ではDateTimeクラスを使っていつの日付からデータを取得するか指定、第2引数ではDateIntervalクラスを使って何日間隔で日付データを取るかを指定、そして第3引数では同じくDateTimeクラスを使って、いつまでの日付を取得するかを指定しています。
第3引数がnext monthになっている理由は、’last day of this month’にしてしまうと、月末日を取得できない為です。 なので月内の日付を全て取得したい場合は、上記のように書きます。
DateTimeオブジェクト操作する
繰り替えし処理を使い日付データを取り出していきます。
calendar.php
foreach($period as $day){
echo $day->format('d');
}
//0102030405060708091011121314151617....
formatはDateTimeクラスに用意されているメソッドになっており、決められた書式でデータを返してくれる。
公式サイトにまとまっているので、以下を参考に引数を設定してあげればいい。