La classe DatePeriod
La classe DatePeriod crée une séquence de dates entre un point de départ et un point d'arrivée avec un intervalle défini.
Elle accepte comme paramètres : la date de départ sous forme d'objet DateTime, l'intervalle sous forme d'objet DateInterval, le nombre de répétitions ou la date de fin.
Elle permet de parcourir toutes les dates dans la plage spécifiée.
Syntaxe
new DatePeriod(DateTime $start, DateInterval $interval, int $recurrences);
new DatePeriod(DateTime $start, DateInterval $interval, DateTime $end);
Exemple
Créons une période de 5 dates avec un intervalle de 1 jour :
<?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>';
}
?>
Résultat de l'exécution du code :
'2025-01-01'
'2025-01-02'
'2025-01-03'
'2025-01-04'
'2025-01-05'
Exemple
Créons une période entre deux dates avec un intervalle de 1 semaine :
<?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>';
}
?>
Résultat de l'exécution du code :
'2025-01-01'
'2025-01-08'
'2025-01-15'
'2025-01-22'
'2025-01-29'
Voir aussi
-
classe
DateTime,
pour travailler avec la date et l'heure -
classe
DateInterval,
pour travailler avec les intervalles de dates