(PHP 8 >= 8.3.0)
DatePeriod::createFromISO8601String — Создаёт новый объект DatePeriod из строки в формате стандарта ISO8601
   Создаёт новый объект DatePeriod из строки в формате стандарта ISO8601, как указано
   в параметре specification.
  
specificationПодмножество » спецификации повторяющихся интервалов стандарта ISO 8601.
      Пример принимаемой спецификации интервала стандарта ISO 8601 — это строка
      R5/2008-03-01T13:00:00Z/P1Y2M10DT2H30M, которая
      указывает:
     
R5/)
       
      2008-03-01T13:00:00Z.
       
      /P1Y2M10DT2H30M).
       
      Примеры спецификации интервалов стандарта ISO 8601, которые PHP не поддерживает:
R0/)
       
      Z), например, +02:00.
       
      optionsБитовое поле, которое можно указывать для управления отдельным поведением с начальными и конечными датами.
      Константа DatePeriod::EXCLUDE_START_DATE
      исключает дату начала из набора повторяющихся дат
      в пределах периода.
     
      Константа DatePeriod::INCLUDE_END_DATE
      включает дату окончания в наборе повторяющихся дат в пределах
      периода.
     
Возвращает созданный объект DatePeriod.
С объектом, созданным этим методом DatePeriod, можно работать как с итератором, чтобы создавать объекты DateTimeImmutable.
   Выбрасывает исключение DateMalformedPeriodStringException,
   если значение параметра specification не может быть разобрано как допустимое значение периода
   в формате стандарта ISO 8601.
  
Пример #1 Пример использования метода DatePeriod::createFromISO8601String
<?php
$iso = 'R4/2023-07-01T00:00:00Z/P7D';
$period = DatePeriod::createFromISO8601String($iso);
// При переборе объекта DatePeriod будут напечатаны
// повторяющиеся в пределах периода даты.
foreach ($period as $date) {
    echo $date->format('Y-m-d'), "\n";
}
?>Результат выполнения приведённого примера:
2023-07-01 2023-07-08 2023-07-15 2023-07-22 2023-07-29
