A classe DatePeriod
(PHP 5 >= 5.3.0, PHP 7, PHP 8)
Introdução
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.
Resumo da classe
DateTimeInterface
$start
,DateInterval
$interval
,int
$recurrences
,int
$options
= 0)
DateTimeInterface
$start
,DateInterval
$interval
,DateTimeInterface
$end
,int
$options
= 0)
Constantes pré-definidas
DatePeriod::EXCLUDE_START_DATE
-
Exclui a data inicial, utilizada em DatePeriod::__construct().
DatePeriod::INCLUDE_END_DATE
-
Inclui a data final, utilizado em DatePeriod::__construct().
Propriedades
- recurrences
-
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 deDatePeriod::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 deDatePeriod::EXCLUDE_START_DATE
, mais um se a data finnal não foi incluída através deDatePeriod::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á:
5
6
7
1
0
Veja também DatePeriod::getRecurrences().
- include_end_date
-
Se inclui a data final no conjunto de datas a retornar.
- include_start_date
-
Se inclui a data inicial no conjunto de datas a retornar.
- start
-
A data inicial do período.
- current
-
Contém a data atual dentro do período.
- end
-
Data final do período.
- interval
-
Uma especificação ISO 8601 do intervalo repetidor.
Registro de Alterações
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. |
Table of Contents
- DatePeriod::__construct — Cria um novo objeto DatePeriod
- DatePeriod::createFromISO8601String — Cria um novo objeto DatePeriod a partir de uma string ISO8601
- DatePeriod::getDateInterval — Obtém o intervalo
- DatePeriod::getEndDate — Obtém a data final
- DatePeriod::getRecurrences — Obtém o número de recorrências
- DatePeriod::getStartDate — Obtém a data inicial