Класс 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
,
для работы с интервалами дат