DatePeriod
PHP Manual

DatePeriod::__construct

(PHP 5 >= 5.3.0)

DatePeriod::__constructErstellt ein neues DatePeriod Objekt

Beschreibung

public DatePeriod::__construct ( DateTimeInterface $start , DateInterval $interval , int $recurrences [, int $options ] )
public DatePeriod::__construct ( DateTimeInterface $start , DateInterval $interval , DateTimeInterface $end [, int $options ] )
public DatePeriod::__construct ( string $isostr [, int $options ] )

Erstellt ein neues DatePeriod Objekt

Parameter-Liste

start

Das Startdatum der Periode

interval

Das Intervall zwischen den Wiederholungen in der Periode.

recurrences

Die Anzahl der Wiederholungen.

end

Das Enddatum der Periode

isostr

Eine 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.

Changelog

Version Beschreibung
5.5.8 end type changed to DateTimeImmutable. Previously, DateTime.
5.5.0 start type changed to DateTimeImmutable. Previously, DateTime.

Beispiele

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


DatePeriod
PHP Manual