Ich denke, es kann genauer beantwortet werden. Zunächst verwendet die DateInterval
Konstruktormethode einen Parameter namens $interval_spec
string.
DateInterval::__construct ( string $interval_spec )
Dieser Parameter hat eine Spezifikation, die wie folgt beschrieben wird:
Das Format beginnt mit dem Buchstaben P für den Zeitraum. Jede Dauerperiode wird durch einen ganzzahligen Wert gefolgt von einem Periodenbezeichner dargestellt. Wenn die Dauer Zeitelemente enthält, wird diesem Teil der Spezifikation der Buchstabe T vorangestellt.
Es gibt einige Periodenbezeichner, die im Argument verwendet werden:
- Y seit Jahren
- M seit Monaten
- D für Tage
- W seit Wochen . Diese werden in Tage umgewandelt und können daher nicht mit D kombiniert werden.
- H für Stunden
- M für Minuten
- S für Sekunden
Sehen wir uns ein Beispiel mit Periodenbezeichnern an:
- Zwei Tage ist P2D.
- Zwei Sekunden ist PT2S.
- Sechs Jahre und fünf Minuten ist P6YT5M.
Es gibt eine Reihenfolge, die wie im Dokument beschrieben gepflegt werden muss:
Die Einheitentypen müssen von der größten Skaleneinheit links bis zur kleinsten Skaleneinheit rechts eingegeben werden. Jahre vor Monaten, Monate vor Tagen, Tage vor Minuten usw. Somit müssen ein Jahr und vier Tage als P1Y4D und nicht als P4D1Y dargestellt werden.
Die Spezifikation kann auch als Datum / Uhrzeit dargestellt werden .
- Ein Jahr, zwei Monate, vier Tage wären P0001-02-04T00: 00: 00
Die Werte in diesem Format dürfen jedoch den Rollover-Punkt eines bestimmten Zeitraums nicht überschreiten (z. B. 25 Stunden sind ungültig).
P
aber diese Referenz ist so untertrieben. Ich vermuten , es Zeitraum gemeint , und ich war auf der Suchephp.net
nach diesem Wort, ich natürlich nie an der Konstruktor Seite bekam .. Aber es ist nicht verwiesen aufdate_format
,DateTime::diff
,DateTime::format
,DateInterval
, und eine Vielzahl von allgemeinenDate/Time
Funktionen. Ich wollte wissen, ob es noch andere Präfixe gab, über die ich Bescheid wissen musste, und verdammt sein, wenn ich sie finden konnte, bis ich zum