Clasa DatePeriod
Clasa DatePeriod creează o secvență de date între punctul de început și cel de sfârșit cu un anumit interval.
Acceptă parametri: data de început sub forma unui obiect DateTime, intervalul sub forma unui obiect DateInterval, numărul de repetări sau data finală.
Permite iterarea tuturor datelor din intervalul specificat.
Sintaxă
new DatePeriod(DateTime $start, DateInterval $interval, int $recurrences);
new DatePeriod(DateTime $start, DateInterval $interval, DateTime $end);
Exemplu
Să creăm o perioadă de 5 date cu un interval de 1 zi:
<?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>';
}
?>
Rezultatul executării codului:
'2025-01-01'
'2025-01-02'
'2025-01-03'
'2025-01-04'
'2025-01-05'
Exemplu
Să creăm o perioadă între două date cu un interval de 1 săptămână:
<?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>';
}
?>
Rezultatul executării codului:
'2025-01-01'
'2025-01-08'
'2025-01-15'
'2025-01-22'
'2025-01-29'
Vezi și
-
clasa
DateTime,
pentru lucrul cu data și ora -
clasa
DateInterval,
pentru lucrul cu intervale de date