(PHP 5 >= 5.3.0, PHP 7, PHP 8)
Representa um período entre datas.
O período entre datas permite a interação entre um conjunto de datas e horários recorrentes a intervalos regulares, durante um determinado período.
$start
,$interval
,$recurrences
,$options
= 0$start
,$interval
,$end
,$options
= 0DatePeriod::EXCLUDE_START_DATE
Exclui a data inicial, utilizada em DatePeriod::__construct().
DatePeriod::INCLUDE_END_DATE
Inclui a data final, utilizado em DatePeriod::__construct().
O número mínimo de instâncias retornadas pelo iterator.
O número de recorrências que foi informado explicitamente no parâmetro recurrences no construtor da instância de DatePeriod, de forma que essa propriedade contém este valor, mais um se a data inicial não foi excluída através de DatePeriod::EXCLUDE_START_DATE
, mais um se a data final foi incluída através de DatePeriod::INCLUDE_END_DATE
.
Se o número de recorrências não foi informado explicitamente, então esta propriedade conte o número mínimo de recorrências a retornar. Isto pode ser 0
, mais um se a data inicial não foi excluída através de DatePeriod::EXCLUDE_START_DATE
, mais um se a data finnal não foi incluída através de 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;
// recorrências informadas no construtor
$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";
// recorrências não informadas no construtor
$period = new DatePeriod($start, $interval, $end);
echo $period->recurrences, "\n";
$period = new DatePeriod($start, $interval, $end, DatePeriod::EXCLUDE_START_DATE);
echo $period->recurrences, "\n";
?>
O exemplo acima produzirá:
Veja também DatePeriod::getRecurrences().
Se inclui a data final no conjunto de datas a retornar.
Se inclui a data inicial no conjunto de datas a retornar.
A data inicial do período.
Contém a data atual dentro do período.
Data final do período.
Uma especificação ISO 8601 do intervalo repetidor.
Versão | Descrição |
---|---|
8.2.0 | A constante DatePeriod::INCLUDE_END_DATE e a propriedade include_end_date foram adicionados. |
8.0.0 | DatePeriod agora implementa IteratorAggregate. Anteriormente implementava Traversable. |