(PHP 5 >= 5.3.0, PHP 7)
DatePeriod::__construct — Cria um novo objeto DatePeriod
$start
, DateInterval $interval
, int $recurrences
[, int $options
] )$start
, DateInterval $interval
, DateTimeInterface $end
[, int $options
] )$isostr
[, int $options
] )Cria um novo objeto DatePeriod.
start
A data inicial do período.
interval
A recorrência de intervalos entre os períodos.
recurrences
Número de recorrências.
end
A data final do período.
isostr
Uma especificação de repetição de intervalos ISO 8601.
options
Pode ser configurado com DatePeriod::EXCLUDE_START_DATE
para
excluir a data inicial do conjunto de recorrências dentro do
período.
Versão | Descrição |
---|---|
5.5.8 |
O tipo de end foi modificado para
DateTimeImmutable.
Anteriormente era DateTime.
|
5.5.0 |
start foi modificado para
DateTimeImmutable.
Anteriormente era DateTime.
|
Exemplo #1 Exemplos de DatePeriod
<?php
$start = new DateTime('2012-07-01');
$interval = new DateInterval('P7D');
$end = new DateTime('2012-07-31');
$recurrences = 4;
$iso = 'R4/2012-07-01T00:00:00Z/P7D';
// All of these periods are equivalent.
$period = new DatePeriod($start, $interval, $recurrences);
$period = new DatePeriod($start, $interval, $end);
$period = new DatePeriod($iso);
// By iterating over the DatePeriod object, all of the
// recurring dates within that period are printed.
foreach ($period as $date) {
echo $date->format('Y-m-d')."\n";
}
?>
O exemplo acima irá imprimir:
2012-07-01 2012-07-08 2012-07-15 2012-07-22 2012-07-29
Exemplo #2 Exemplo de DatePeriod com DatePeriod::EXCLUDE_START_DATE
<?php
$start = new DateTime('2012-07-01');
$interval = new DateInterval('P7D');
$end = new DateTime('2012-07-31');
$period = new DatePeriod($start, $interval, $end,
DatePeriod::EXCLUDE_START_DATE);
// By iterating over the DatePeriod object, all of the
// recurring dates within that period are printed.
// Note that, in this case, 2012-07-01 is not printed.
foreach ($period as $date) {
echo $date->format('Y-m-d')."\n";
}
?>
O exemplo acima irá imprimir:
2012-07-08 2012-07-15 2012-07-22 2012-07-29