(PHP 8 >= 8.3.0)
DatePeriod::createFromISO8601String — Crea un nuevo objeto DatePeriod a partir de un string ISO8601
Crea un nuevo objeto DatePeriod a partir de un string ISO8601, tal como se especifica con
specification
.
specification
Un subconjunto de la especificación » ISO 8601 de intervalos recurrentes.
Un ejemplo de especificación de intervalo ISO 8601 aceptada es
R5/2008-03-01T13:00:00Z/P1Y2M10DT2H30M
, que
especifica :
R5/
)
2008-03-01T13:00:00Z
.
/P1Y2M10DT2H30M
).
Los ejemplos de algunas funcionalidades de especificación de intervalo ISO 8601 que PHP no soporta son :
R0/
)
Z
), como +02:00
.
options
Un campo de bits que puede ser utilizado para controlar ciertos comportamientos con las fechas de inicio y fin.
Con DatePeriod::EXCLUDE_START_DATE
se
excluye la fecha de inicio del conjunto de fechas recurrentes en el
período.
Con DatePeriod::INCLUDE_END_DATE
se
incluye la fecha de fin en el conjunto de fechas recurrentes en el
período.
Crea un nuevo objeto DatePeriod.
Los objetos DatePeriod creados con este método pueden ser utilizados como un iterador para generar un cierto número de objetos DateTimeImmutable.
Lanza una DateMalformedPeriodStringException cuando
la specification
no puede ser analizada como un intervalo ISO 8601
válido.
Ejemplo #1 Ejemplo de DatePeriod::createFromISO8601String
<?php
$iso = 'R4/2023-07-01T00:00:00Z/P7D';
$period = DatePeriod::createFromISO8601String($iso);
// Al iterar sobre el objeto DatePeriod, todas las
// fechas recurrentes en este período son mostradas.
foreach ($period as $date) {
echo $date->format('Y-m-d'), "\n";
}
?>
El resultado del ejemplo sería:
2023-07-01 2023-07-08 2023-07-15 2023-07-22 2023-07-29