(PHP 5 >= 5.3.0)
DateInterval::__construct — Erstellt ein neues DateInterval Objekt
$interval_spec
)Erstellt ein neues DateInterval Objekt.
interval_specEine Intervall Spezifikation
Das Format beginnt mit dem Buchstaben P für "period". Jede Periodendauer wird als integer-Wert, gefolgt von einem Perioden-Bezeichner, repräsentiert. T.
| Perioden Bezeichner | Beschreibung |
|---|---|
| Y | Jahre |
| M | Monate |
| D | Tage |
| W | Wochen. Diese werden in Tage umgerechnet und können nicht mit D kombiniert werden. |
| H | Stunden |
| M | Minuten |
| S | Sekunden |
Hier sind ein paar einfache Beispiele. Zwei Tage sind P2D. Zwei Sekunden sind PT2S. Sechs Jahr und fünf Minuten ist P6YT5M.
Hinweis:
Die Einheitstypen müssen von der größten Einheit von Links zur kleinsten Einheit nach rechts angegeben werden. Also Jahre vor Monate, Monate vor Tage, Tage vor Minuten etc. P1Y4D repräsentiert also ein Jahr und vier Tage, P4D1Y ist falsch.
Die Spezifikation kann aber auch als Zeitstempel angegeben werden. Ein Beispiel für ein Jahr und vier Tage wäre also P0001-00-04T00:00:00. Die Werte in diesem Format können allerdings einen gegebenen Überschreitungspunkt nicht überschreiten (z.B. 25 Stunden sind ungültig).
Diese Formate basieren auf der » ISO 8601 Dauer-Spezifikation.
Wirft eine Exception wenn interval_spec
nicht als Intervall konvertiert werden kann.
Beispiel #1 DateInterval Beispiel
<?php
$interval = new DateInterval('P2Y4DT6H8M');
var_dump($interval);
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
object(DateInterval)#1 (8) {
["y"]=>
int(2)
["m"]=>
int(0)
["d"]=>
int(4)
["h"]=>
int(6)
["i"]=>
int(8)
["s"]=>
int(0)
["invert"]=>
int(0)
["days"]=>
bool(false)
}