(PHP 5 >= 5.3.0, PHP 7, PHP 8)
Stellt einen Datumsbereich dar.
Ein Datumsbereich ermöglicht die Iteration über eine Reihe von Datumsangaben und Uhrzeiten, die sich im angegebenen Zeitraum in regelmäßigen Intervallen wiederholen.
$start
,$interval
,$recurrences
,$options
= 0$start
,$interval
,$end
,$options
= 0DatePeriod::EXCLUDE_START_DATE
Anfangsdatum ausschließen; verwendet in DatePeriod::__construct().
DatePeriod::INCLUDE_END_DATE
Enddatum einschließen; verwendet in DatePeriod::__construct().
Die minimale Anzahl von Instanzen, die vom Iterator zurückgegeben wird.
Wenn im Konstruktor der DatePeriod-Instanz die
Anzahl der Wiederholungen explizit über den Parameter
recurrences übergeben wurde, dann enthält diese
Eigenschaft diesen Wert, plus eins, wenn das
Startdatum nicht mittels
DatePeriod::EXCLUDE_START_DATE
deaktiviert wurde,
plus eins, wenn das Enddatum mittels
DatePeriod::INCLUDE_END_DATE
aktiviert wurde.
Wenn die Anzahl der Wiederholungen nicht explizit übergeben wurde, dann
enthält diese Eigenschaft die Mindestanzahl der zurückgegebenen
Instanzen. Dies wäre 0
, plus
eins, wenn das Startdatum nicht mittels
DatePeriod::EXCLUDE_START_DATE
deaktiviert wurde,
plus eins, wenn das Enddatum mittels
DatePeriod::INCLUDE_END_DATE
aktiviert wurde.
<?php
$start = new DateTime('2018-12-31 00:00:00');
$end = new DateTime('2021-12-31 00:00:00');
$interval = new DateInterval('P1M');
$recurrences = 5;
// Wiederholungen explizit im Konstruktor gesetzt
$period = new DatePeriod($start, $interval, $recurrences, DatePeriod::EXCLUDE_START_DATE);
echo $period->recurrences, "\n";
$period = new DatePeriod($start, $interval, $recurrences);
echo $period->recurrences, "\n";
$period = new DatePeriod($start, $interval, $recurrences, DatePeriod::INCLUDE_END_DATE);
echo $period->recurrences, "\n";
// Wiederholungen nicht im Konstruktor gesetzt
$period = new DatePeriod($start, $interval, $end);
echo $period->recurrences, "\n";
$period = new DatePeriod($start, $interval, $end, DatePeriod::EXCLUDE_START_DATE);
echo $period->recurrences, "\n";
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
Siehe auch DatePeriod::getRecurrences().
Legt fest, ob das Enddatum in der Menge der wiederkehrenden Termine enthalten sein soll oder nicht.
Legt fest, ob das Anfangsdatum in der Menge der wiederkehrenden Termine enthalten sein soll, oder nicht.
Das Anfangsdatum des Zeitraums.
Während einer Iteration enthält diese Eigenschaft das aktuelle Datum innerhalb des Zeitraums.
Das Enddatum des Zeitraums.
Eine ISO-8601-konforme Angabe eines sich wiederholenden Intervalls.
Version | Beschreibung |
---|---|
8.2.0 |
Die Konstante DatePeriod::INCLUDE_END_DATE und die
Eigenschaft include_end_date wurden hinzugefügt.
|
8.0.0 | DatePeriod implementiert nun IteratorAggregate. Zuvor wurde stattdessen Traversable implementiert. |