DatePeriod
Набор дат с равным шагом для перебора в цикле.
Синтаксис
new DatePeriod(DateTimeInterface $start, DateInterval $interval, DateTimeInterface|int $end)Параметры
| Параметр | Тип | Описание |
|---|---|---|
| $start | DateTimeInterface | Первая дата. |
| $interval | DateInterval | Шаг. |
| $end | DateTimeInterface|int | Конечная дата (не включается) или число повторений. |
Возвращаемое значение
DatePeriodОбъект, который можно перебрать в `foreach`.
Примеры
Все дни недели подряд:
<?php
$period = new DatePeriod(
new DateTimeImmutable('2026-03-02'),
new DateInterval('P1D'),
new DateTimeImmutable('2026-03-07'),
);
foreach ($period as $day) {
echo $day->format('D d'), "\n";
}Результат:
Mon 02
Tue 03
Wed 04
Thu 05
Fri 06Примечания
Конечная дата в набор не входит. Чтобы включить её, прибавьте к ней один шаг.
См. также
- DateInterval — Промежуток времени: дни, месяцы, часы.
- DateTimeImmutable — Объект даты и времени, который нельзя изменить: каждое действие возвращает новый объект.
- range — Создаёт массив с последовательностью значений.
В учебнике
- Дата и время — Работа с датами в PHP — функция date, класс DateTimeImmutable, форматы, сложение и разница дат.