(PHP 8 >= 8.3.0)
DatePeriod::createFromISO8601String — Crée un nouvel objet DatePeriod à partir d'une chaîne de caractères ISO8601
Crée un nouvel objet DatePeriod à partir d'une chaîne de caractères ISO8601, tel que spécifié avec
specification
.
specification
Un 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
.
options
Un 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
vous
excluez la date de début de l'ensemble des dates récurrentes dans la
période.
Avec DatePeriod::INCLUDE_END_DATE
vous
incluez la date de fin dans l'ensemble des dates récurrentes dans la
période.
Créer 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