PHP: перебор диапазона дат

Нашел еще один способ перебора каждого дня в диапазоне дат. Вот такой:

$start = new DateTime('2026-01-01');
$interval = new DateInterval('P1D'); // Интервал в 1 день
$period = new DatePeriod($start, $interval, new DateTime('2026-05-21'));

foreach ($period as $date) {
echo $date->format('Ymd')."\n";
}

Ну соответственно в DateInterval можно вставлять не только интервал день (или несколько), но и неделя, месяц, год:

  • y— Количество лет
  • m— Количество месяцев
  • d — Количество дней.
  • h — Количество часов.
  • i — Количество минут.
  • s — Количество секунд.
  • f — Количество микросекунд в виде долей секунды.