(PHP 5 >= 5.3.0)
DatePeriod::__construct — Erstellt ein neues DatePeriod Objekt
$start
, DateInterval $interval
, int $recurrences
[, int $options
] )$start
, DateInterval $interval
, DateTimeInterface $end
[, int $options
] )$isostr
[, int $options
] )Erstellt ein neues DatePeriod Objekt
startDas Startdatum der Periode
intervalDas Intervall zwischen den Wiederholungen in der Periode.
recurrencesDie Anzahl der Wiederholungen.
endDas Enddatum der Periode
isostrEine ISO 8601 Spezifikation
options
Kann auf den Wert DatePeriod::EXCLUDE_START_DATE gesetzt werden um das Startdatum aus den wiederkehrenden Termine innnerhalb der Periode auszuschließen.
| Version | Beschreibung |
|---|---|
| 5.5.8 |
end type changed to
DateTimeImmutable.
Previously, DateTime.
|
| 5.5.0 |
start type changed to
DateTimeImmutable.
Previously, DateTime.
|
Beispiel #1 DatePeriod example
<?php
$start = new DateTime('2012-07-01');
$interval = new DateInterval('P7D');
$end = new DateTime('2012-07-31');
$recurrences = 4;
$iso = 'R4/2012-07-01T00:00:00Z/P7D';
// All of these periods are equivalent.
$period = new DatePeriod($start, $interval, $recurrences);
$period = new DatePeriod($start, $interval, $end);
$period = new DatePeriod($iso);
// By iterating over the DatePeriod object, all of the
// recurring dates within that period are printed.
foreach ($period as $date) {
echo $date->format('Y-m-d')."\n";
}
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
2012-07-01 2012-07-08 2012-07-15 2012-07-22 2012-07-29
Beispiel #2 DatePeriod example with DatePeriod::EXCLUDE_START_DATE
<?php
$start = new DateTime('2012-07-01');
$interval = new DateInterval('P7D');
$end = new DateTime('2012-07-31');
$period = new DatePeriod($start, $interval, $end,
DatePeriod::EXCLUDE_START_DATE);
// By iterating over the DatePeriod object, all of the
// recurring dates within that period are printed.
// Note that, in this case, 2012-07-01 is not printed.
foreach ($period as $date) {
echo $date->format('Y-m-d')."\n";
}
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
2012-07-08 2012-07-15 2012-07-22 2012-07-29