Die Klasse DatePeriod

Die Klasse DatePeriod erstellt eine Sequenz von Daten zwischen Start- und Endpunkt mit einem bestimmten Intervall. Sie akzeptiert Parameter: das Startdatum als Objekt DateTime, das Intervall als Objekt DateInterval, die Anzahl der Wiederholungen oder das Enddatum. Ermöglicht das Durchlaufen aller Daten im angegebenen Bereich.

Syntax

phpnew DatePeriod(DateTime $start, DateInterval $interval, int $recurrences);
phpnew DatePeriod(DateTime $start, DateInterval $interval, DateTime $end);

Beispiel

Erstellen wir einen Zeitraum aus 5 Daten mit einem Intervall von 1 Tag:

php<?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>';
  }
?>

Ergebnis der Codeausführung:

php'2025-01-01'
'2025-01-02'
'2025-01-03'
'2025-01-04'
'2025-01-05'

Beispiel

Erstellen wir einen Zeitraum zwischen zwei Daten mit einem Intervall von 1 Woche:

php<?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>';
  }
?>

Ergebnis der Codeausführung:

php'2025-01-01'
'2025-01-08'
'2025-01-15'
'2025-01-22'
'2025-01-29'

Siehe auch

  • Klasse DateTime,
    für die Arbeit mit Datum und Uhrzeit
  • Klasse DateInterval,
    für die Arbeit mit Datumsintervallen