次の関数を使用すると、2 つの日付の間の年と月を表示できますが、各月の正しい日を各月内の別の配列として追加するにはどうすればよいですか? うるう年などを考慮する必要があるため、手動で日を追加することはできません。
function yearMonth($start_date, $end_date)
{
$begin = new DateTime( $start_date );
$end = new DateTime( $end_date);
$interval = new DateInterval('P1M'); // 1 month interval
$period = new DatePeriod($begin, $interval, $end);
foreach ( $period as $dt )
$years[$dt->format( "Y" )][] = $dt->format( "F" );
return $years;
}
$list = yearMonth("2007-03-24", "2009-06-26");
var_dump($list);