DateInterval::__construct

(PHP 5 >= 5.3.0, PHP 7)

DateInterval::__constructErstellt ein neues DateInterval Objekt

Beschreibung

public DateInterval::__construct ( string $interval_spec )

Erstellt ein neues DateInterval Objekt.

Parameter-Liste

interval_spec

Eine 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. Enthält die Dauer Zeitelemente, steht diesem Teil der Spezifikation der Buchstabe T voran.

interval_spec Perioden Bezeichner
Perioden Bezeichner Beschreibung
Y Jahre
M Monate
D Tage
W Wochen. Diese werden in Tage umgerechnet und können daher 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 Jahre 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. Also muss ein Jahr und vier Tage als P1Y4D dargestellt werden, nicht als P4D1Y.

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 den jeweiligen Übersprungspunkt der Periode nicht überschreiten (z.B. ist 25 Stunden ungültig).

Diese Formate basieren auf der » ISO 8601 Dauer-Spezifikation.

Fehler/Exceptions

Wirft eine Exception, wenn interval_spec nicht als Intervall geparst werden kann.

Beispiele

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)
}

Siehe auch

  • DateInterval::format() - Formats the interval
  • DateTime::add() - Addiert einen Wert von Tagen, Monaten, Jahren, Stunden, Minuten und Sekunden zu einem DateTime-Objekt
  • DateTime::sub() - Subtrahiert eine Anzahl von Tagen, Monaten, Jahren, Stunden, Minuten und Sekunden von einem DateTime-Objekt.
  • DateTime::diff() - Returns the difference between two DateTime objects