(PHP 8 >= 8.3.0)
DatePeriod::createFromISO8601String â CrĂ©e un nouvel objet DatePeriod Ă partir d'une chaĂźne de caractĂšres ISO8601
$specification, int $options = 0): static
Crée un nouvel objet DatePeriod à partir d'une chaßne de caractÚres ISO8601, tel que spécifié avec
specification.
specificationUn sous-ensemble de la spécification » ISO 8601 des intervalles récurrents.
Un exemple de spécification d'intervalle ISO 8601 acceptée est
R5/2008-03-01T13:00:00Z/P1Y2M10DT2H30M, qui
spécifie :
R5/)
2008-03-01T13:00:00Z.
/P1Y2M10DT2H30M).
Les exemples de certaines fonctionnalités de spécification d'intervalle ISO 8601 que PHP ne prend pas en charge sont :
R0/)
Z), tels que +02:00.
optionsUn champ de bits qui peut ĂȘtre utilisĂ© pour contrĂŽler certains comportements avec les dates de dĂ©but et de fin.
Avec DatePeriod::EXCLUDE_START_DATE on
exclut la date de début de l'ensemble des dates récurrentes dans la
période.
Avec DatePeriod::INCLUDE_END_DATE on
inclut la date de fin dans l'ensemble des dates récurrentes dans la
période.
Crée un nouvel objet DatePeriod.
Les objets DatePeriod créés avec cette mĂ©thode peuvent ĂȘtre utilisĂ©s comme un itĂ©rateur pour gĂ©nĂ©rer un certain nombre d'objets DateTimeImmutable.
Lance une DateMalformedPeriodStringException quand
la specification ne peut pas ĂȘtre analysĂ©e comme un intervalle ISO 8601
valide.
Exemple #1 Exemple de DatePeriod::createFromISO8601String
<?php
$iso = 'R4/2023-07-01T00:00:00Z/P7D';
$period = DatePeriod::createFromISO8601String($iso);
// En itérant sur l'objet DatePeriod, toutes les
// dates récurrentes dans cette période sont affichées.
foreach ($period as $date) {
echo $date->format('Y-m-d'), "\n";
}L'exemple ci-dessus va afficher :
2023-07-01 2023-07-08 2023-07-15 2023-07-22 2023-07-29