DatePeriod::__construct Создаёт новый объект DatePeriod &reftitle.description; public DatePeriod::__construct DateTimeInterfacestart DateIntervalinterval intrecurrences intoptions0 public DatePeriod::__construct DateTimeInterfacestart DateIntervalinterval DateTimeInterfaceend intoptions0 Этот вариант конструктора устарел: public DatePeriod::__construct stringisostr intoptions0 Вместо этого следует использовать статический фабричный метод DatePeriod::createFromISO8601String. Создаёт новый объект DatePeriod. Объекты DatePeriod можно использовать в качестве итератора для генерации ряда объектов DateTimeImmutable или DateTime из даты start, interval и end или числа recurrences. Класс возвращаемых объектов эквивалентен классу-родителю DateTimeImmutable или DateTime объекта start. &reftitle.parameters; start Начальная дата. По умолчанию включается в набор результатов. interval Интервал. recurrences Количество повторений. Число возвращаемых результатов на единицу больше этого, так как дата начала включается в набор результатов по умолчанию. Должно быть больше, чем 0. end Конечная дата. По умолчанию исключается из набора результатов. isostr Подмножество, содержащее интервал согласно спецификации ISO 8601. Примерами некоторых особенностей спецификации интервалов ISO 8601, которые PHP не поддерживает, являются: нулевые вхождения (R0/) смещение времени, отличное от UTC (Z), например, +02:00. options Битовое поле, которое можно использовать для управления определённым поведением с начальной и конечной датами. Исключить начальную дату внутри периода из набора повторяющихся дат можно с помощью константы DatePeriod::EXCLUDE_START_DATE. Включить конечную дату внутри периода в набор повторяющихся дат можно с помощью константы DatePeriod::INCLUDE_END_DATE. &reftitle.errors; Когда значение параметра isostr не может быть разобрано анализатором как допустимый стандартом ISO 8601 формат, выбрасывается исключение DateMalformedPeriodStringException. До PHP 8.3 выбрасывалось исключение Exception. &reftitle.changelog; &Version; &Description; 8.3.0 Теперь вместо исключения Exception выбрасывается исключение DateMalformedPeriodStringException. 8.2.0 Добавлена константа DatePeriod::INCLUDE_END_DATE. 7.2.19, 7.3.6, 7.4.0 recurrences должен быть больше 0. &reftitle.examples; Пример использования DatePeriod format('Y-m-d')."\n"; } ]]> &example.outputs; Пример использования DatePeriod с <constant>DatePeriod::EXCLUDE_START_DATE</constant> format('Y-m-d')."\n"; } ]]> &example.outputs; Пример использования DatePeriod, показывающий все последние четверги в году format('l Y-m-d'), "\n"; } ]]> &example.outputs; &reftitle.notes; Несвязное количество повторений, определённые в секции 4.5 ISO 8601 "Recurring time interval", не поддерживается, то есть ни передача "R/..." в isostr, ни &null; в end, не будут работать.