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 — Количество микросекунд в виде долей секунды.