ВНИМАНИЕ: Запись на курсы по HTML, CSS, JavaScript, PHP, Python, React, Vue, Laravel и другим фреймворкам и CMS,
а также: помощь в поиске работы и заказов, стажировка на реальных проектах→
229 of 410 menu
Бесплатный курс по выкладке сайтов на хостинг. Разбираем все нюансы! Начало 14 октября. Жми для записи!

Класс DatePeriod

Класс DatePeriod создает последовательность дат между начальной и конечной точкой с определенным интервалом. Принимает параметры: начальную дату в виде объекта DateTime, интервал в виде объекта DateInterval, количество повторений или конечную дату. Позволяет перебирать все даты в указанном диапазоне.

Синтаксис

new DatePeriod(DateTime $start, DateInterval $interval, int $recurrences);
new DatePeriod(DateTime $start, DateInterval $interval, DateTime $end);

Пример

Создадим период из 5 дат с интервалом в 1 день:

<?php $start = new DateTime('2025-01-01'); $interval = new DateInterval('P1D'); $period = new DatePeriod($start, $interval, 4); foreach ($period as $date) { echo $date->format('Y-m-d') . '<br>'; } ?>

Результат выполнения кода:

'2025-01-01' '2025-01-02' '2025-01-03' '2025-01-04' '2025-01-05'

Пример

Создадим период между двумя датами с интервалом в 1 неделю:

<?php $start = new DateTime('2025-01-01'); $end = new DateTime('2025-02-01'); $interval = new DateInterval('P1W'); $period = new DatePeriod($start, $interval, $end); foreach ($period as $date) { echo $date->format('Y-m-d') . '<br>'; } ?>

Результат выполнения кода:

'2025-01-01' '2025-01-08' '2025-01-15' '2025-01-22' '2025-01-29'

Смотрите также

  • класс DateTime,
    для работы с датой и временем
  • класс DateInterval,
    для работы с интервалами дат
byenru