(PHP 8 >= 8.3.0)
DatePeriod::createFromISO8601String — Creates a new DatePeriod object from an ISO8601 string
   Creates a new DatePeriod object from an ISO8601 string, as specified with
   specification.
  
specificationA subset of the » ISO 8601 repeating interval specification.
      An example of an accepted ISO 8601 interval specifications is
      R5/2008-03-01T13:00:00Z/P1Y2M10DT2H30M, which
      specifies:
     
R5/)
       
      2008-03-01T13:00:00Z.
       
      /P1Y2M10DT2H30M).
       
      Examples of some ISO 8601 interval specification features that PHP does not support are:
R0/)
       
      Z), such as +02:00.
       
      optionsA bit field which can be used to control certain behaviour with start- and end- dates.
      With DatePeriod::EXCLUDE_START_DATE you
      exclude the start date from the set of recurring dates within the
      period.
     
      With DatePeriod::INCLUDE_END_DATE you
      include the end date in the set of recurring dates within the
      period.
     
Creates a new DatePeriod object.
DatePeriod objects created with this method can be used as an iterator to generate a number of DateTimeImmutable objects.
   Throws an DateMalformedPeriodStringException when
   the specification cannot be parsed as a valid ISO 8601
   period.
  
Example #1 DatePeriod::createFromISO8601String example
<?php
$iso = 'R4/2023-07-01T00:00:00Z/P7D';
$period = DatePeriod::createFromISO8601String($iso);
// By iterating over the DatePeriod object, all of the
// recurring dates within that period are printed.
foreach ($period as $date) {
    echo $date->format('Y-m-d'), "\n";
}
?>Il precedente esempio visualizzerà:
2023-07-01 2023-07-08 2023-07-15 2023-07-22 2023-07-29
