(PHP 5 >= 5.3.0, PHP 7, PHP 8)
Representa un período de fechas.
Un período de fechas permite iterar a través de un conjunto de fechas y horas, ocurriendo a intervalos regulares, durante un período determinado.
$start
,$interval
,$recurrences
,$options
= 0$start
,$interval
,$end
,$options
= 0DatePeriod::EXCLUDE_START_DATE
int
Excluye la fecha de inicio, utilizada por DatePeriod::__construct().
DatePeriod::INCLUDE_END_DATE
int
Incluye la fecha de fin, utilizada por DatePeriod::__construct().
La cantidad mínima de instancias devueltas por el iterador.
Si el número de recurrencias ha sido explícitamente pasado
mediante el argumento $recurrences
en el constructor de la instancia
DatePeriod, entonces esta propiedad contiene ese valor,
más uno si la fecha de inicio no ha sido desactivada por
DatePeriod::EXCLUDE_START_DATE
, más
uno si la fecha de fin ha sido activada por
DatePeriod::INCLUDE_END_DATE
.
Si el número de recurrencias no ha sido explícitamente pasado, entonces esta
propiedad contiene el número mínimo de instancias devueltas. Esto sería
0
, más uno si la fecha de inicio no
ha sido desactivada por DatePeriod::EXCLUDE_START_DATE
,
más uno si la fecha de fin ha sido activada por
DatePeriod::INCLUDE_END_DATE
.
<?php
$start = new DateTime('2018-12-31 00:00:00');
$end = new DateTime('2021-12-31 00:00:00');
$interval = new DateInterval('P1M');
$recurrences = 5;
// recurrencias explícitamente definidas por el constructor
$period = new DatePeriod($start, $interval, $recurrences, DatePeriod::EXCLUDE_START_DATE);
echo $period->recurrences, "\n";
$period = new DatePeriod($start, $interval, $recurrences);
echo $period->recurrences, "\n";
$period = new DatePeriod($start, $interval, $recurrences, DatePeriod::INCLUDE_END_DATE);
echo $period->recurrences, "\n";
// recurrencias no definidas en el constructor
$period = new DatePeriod($start, $interval, $end);
echo $period->recurrences, "\n";
$period = new DatePeriod($start, $interval, $end, DatePeriod::EXCLUDE_START_DATE);
echo $period->recurrences, "\n";
?>
El resultado del ejemplo sería:
Ver también DatePeriod::getRecurrences().
Incluye o no la fecha de fin en el conjunto de fechas recurrentes.
Si se debe incluir la fecha de inicio en el conjunto de fechas recurrentes o no.
La fecha de inicio del período.
Durante la iteración, esto contendrá la fecha del día en el período.
La fecha de fin del período.
Una especificación de intervalo repetitivo ISO 8601.
Versión | Descripción |
---|---|
8.4.0 | Las constantes de clase ahora están tipadas. |
8.2.0 |
La constante DatePeriod::INCLUDE_END_DATE y
la propiedad include_end_date han sido añadidas.
|
8.0.0 | La clase DatePeriod ahora implementa IteratorAggregate. Anteriormente, solo Traversable era implementada. |