(PHP 5 >= 5.3.0)
DatePeriod::__construct — Crea un nuevo objeto DatePeriod
$start
, DateInterval $interval
, int $recurrences
[, int $options
] )$start
, DateInterval $interval
, DateTime $end
[, int $options
] )$isostr
[, int $options
] )Crea un nuevo objeto DatePeriod.
start
La fecha de inicio del periodo.
interval
El intervalo entre repeticiones dentro del periodo.
recurrences
El número de repeticiones.
end
La fecha final del periodo.
isostr
Una especificación ISO 8601 del intervalo de repetición.
options
Se puede establecer a DatePeriod::EXCLUDE_START_DATE
para
excluir la fecha de inicio del conjunto de fechas de repetición dentro del
periodo.
Ejemplo #1 Ejemplo de DatePeriod
<?php
$inicio = new DateTime('2012-07-01');
$intervalo = new DateInterval('P7D');
$fin = new DateTime('2012-07-31');
$repeticiones = 4;
$iso = 'R4/2012-07-01T00:00:00Z/P7D';
// Todos estos periodos son equivalentes.
$periodo = new DatePeriod($inicio, $intervalo, $repeticiones);
$periodo = new DatePeriod($inicio, $intervalo, $fin);
$periodo = new DatePeriod($iso);
// Iterando sobre el objeto DatePeriod, se imprimen todas
// las fechas de repetición dentro del periodo.
foreach ($periodo as $fecha) {
echo $fecha->format('Y-m-d')."\n";
}
?>
El resultado del ejemplo sería:
2012-07-01 2012-07-08 2012-07-15 2012-07-22 2012-07-29
Ejemplo #2 Ejemplo de DatePeriod con DatePeriod::EXCLUDE_START_DATE
<?php
$inicio = new DateTime('2012-07-01');
$intervalo = new DateInterval('P7D');
$fin = new DateTime('2012-07-31');
$periodo = new DatePeriod($inicio, $intervalo, $fin,
DatePeriod::EXCLUDE_START_DATE);
// Iterando sobre el objeto DatePeriod, se imprimen todas
// las fechas de repetición dentro del periodo.
// Observe que, en este caso, 2012-07-01 no se imprime.
foreach ($periodo as $fecha) {
echo $fecha->format('Y-m-d')."\n";
}
?>
El resultado del ejemplo sería:
2012-07-08 2012-07-15 2012-07-22 2012-07-29