Classe DatePeriod
La classe DatePeriod crea una sequenza di date tra un punto iniziale e uno finale con un intervallo specifico.
Accetta parametri: la data iniziale come oggetto DateTime, l'intervallo come oggetto DateInterval, il numero di ripetizioni o la data finale.
Permette di iterare tutte le date nell'intervallo specificato.
Sintassi
new DatePeriod(DateTime $start, DateInterval $interval, int $recurrences);
new DatePeriod(DateTime $start, DateInterval $interval, DateTime $end);
Esempio
Creiamo un periodo di 5 date con un intervallo di 1 giorno:
<?php
$start = new DateTime('2025-01-01');
$interval = new DateInterval('P1D');
$period = new DatePeriod($start, $interval, 4);
foreach ($period as $date) {
echo $date->format('Y-m-d') . '<br>';
}
?>
Risultato dell'esecuzione del codice:
'2025-01-01'
'2025-01-02'
'2025-01-03'
'2025-01-04'
'2025-01-05'
Esempio
Creiamo un periodo tra due date con un intervallo di 1 settimana:
<?php
$start = new DateTime('2025-01-01');
$end = new DateTime('2025-02-01');
$interval = new DateInterval('P1W');
$period = new DatePeriod($start, $interval, $end);
foreach ($period as $date) {
echo $date->format('Y-m-d') . '<br>';
}
?>
Risultato dell'esecuzione del codice:
'2025-01-01'
'2025-01-08'
'2025-01-15'
'2025-01-22'
'2025-01-29'
Vedi anche
-
classe
DateTime,
per lavorare con data e ora -
classe
DateInterval,
per lavorare con intervalli di date