Dieser Abschnitt beschreibt alle verschiedenen Formate in einem
BNF-ähnlichen Format, das der Parser von
DateTimeImmutable, DateTime,
date_create_immutable(),
date_create(), date_parse() und
strtotime() versteht. Die Formate sind in Abschnitte
gegliedert. In den meisten Fällen können Formate aus verschiedenen
Abschnitten durch Leerzeichen, Komma oder Punkt getrennt in derselben
Zeichenkette für Datum und Uhrzeit verwendet werden. Für jedes der
unterstützten Formate werden ein oder mehrere Beispiele sowie eine
Beschreibung des Formats angegeben. Bei Formatzeichen in einfachen
Anführungszeichen wird nicht zwischen Groß- und Kleinschreibung
unterschieden ('t'
könnte t
oder
T
sein), bei Zeichen in doppelten Anführungszeichen wird
zwischen Groß- und Kleinschreibung unterschieden ("T"
ist
nur T
).
Die Formatierung von DateTimeImmutable- und DateTime-Objekten wird in der Dokumentation zur Methode DateTimeInterface::format() beschrieben.
Es sollten ein paar allgemeine Regeln beachtet werden.
false
zurück, und
DateTimeImmutable::__construct() löst eine Ausnahme aus.
@1690388256
) und ISO-Wochentage
(2008-W28-3
) auswerten.
Es gibt eine Möglichkeit, zu prüfen, ob ein ungültiges Datum oder eine ungültige Uhrzeit angegeben wurde:
<?php
$res = date_parse("2015-09-31");
var_dump($res["warnings"]);
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
array(1) { [11] => string(27) "The parsed date was invalid" }
Es ist bereits möglich, die Grenzfälle zu berücksichtigen, aber dafür muss DateTimeImmutable::createFromFormat() mit dem korrekten Format verwendet werden.
<?php
$res = DateTimeImmutable::createFromFormat("Y-m-d", "2015-09-34");
var_dump($res);
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
object(DateTimeImmutable)#1 (3) { ["date"]=> string(26) "2015-10-04 17:24:43.000000" ["timezone_type"]=> int(3) ["timezone"]=> string(13) "Europe/London" }
Diese Seite beschreibt die verschiedenen Zeitformate in einem BNF-ähnlichen Format, das der Parser von DateTimeImmutable, DateTime, date_create(), date_create_immutable() und strtotime() versteht.
Die Formatierung von DateTimeImmutable- und DateTime-Objekten wird in der Dokumentation zur Methode DateTimeInterface::format() beschrieben.
Beschreibung | Formate | Beispiele |
---|---|---|
frac (Bruchteil) |
. [0-9]+ | ".21342", ".85" |
hh (Stunden im 12-Stunden-Format) |
"0"?[1-9] | "1"[0-2] | "04", "7", "12" |
HH (Stunden im 24-Stunden-Format) |
[01][0-9] | "2"[0-4] | "04", "07", "19" |
meridian (a.m.=vormittags oder p.m.=nachmittags) |
[AaPp] .? [Mm] .? [\0\t ] | "A.m.", "pM", "am." |
MM (Minuten; mit vorangestellter Null) |
[0-5][0-9] | "00", "12", "59" |
II (Sekunden; mit vorangestellter Null) |
[0-5][0-9] | "00", "12", "59" |
space (Leer- und Tabulatorzeichen) |
[ \t] | |
tz (Zeitzone) |
"("? [A-Za-z]{1,6} ")"? | [A-Z][a-z]+([_/][A-Z][a-z]+)+ | "CEST", "Europe/Amsterdam", "America/Indiana/Knox" |
tzcorrection (Zeitverschiebung) |
"GMT"? [+-] hh ":"? MM ? |
"+0400", "GMT-07:00", "-07:00" |
Beschreibung | Format | Beispiele |
---|---|---|
Nur die Stunde mit Meridian | hh space ? meridian |
"4 am", "5PM" |
Stunde und Minuten; mit Meridian | hh [.:] MM space ? meridian |
"4:08 am", "7:19P.M." |
Stunde, Minuten und Sekunden; mit Meridian | hh [.:] MM [.:] II space ? meridian |
"4:08:37 am", "7:19:19P.M." |
MS SQL (Stunde, Minuten, Sekunden und Bruchteil; mit Meridian) | hh ":" MM ":" II [.:] [0-9]+ meridian |
"4:08:39:12313am" |
Beschreibung | Format | Beispiele |
---|---|---|
Stunde und Minuten | 't'? HH [.:] MM |
"04:08", "19.19", "T23:43" |
Stunde und Minuten; ohne Doppelpunkt | 't'? HH MM |
"0408", "t1919", "T2343" |
Stunde, Minuten und Sekunden | 't'? HH [.:] MM [.:] II |
"04.08.37", "t19:19:19" |
Stunde, Minuten und Sekunden; ohne Doppelpunkt | 't'? HH MM II |
"040837", "T191919" |
Stunde, Minuten, Sekunden und Zeitzone | 't'? HH [.:] MM [.:] II space ? ( tzcorrection | tz ) |
"040837CEST", "T191919-0700" |
Stunde, Minuten, Sekunden und Bruchteil | 't'? HH [.:] MM [.:] II frac |
"04.08.37.81412", "19:19:19.532453" |
Informationen über die Zeitzone | tz | tzcorrection |
"CEST", "Europe/Amsterdam", "+0430", "GMT-06:00" |
Diese Seite beschreibt die verschiedenen Datumsformate in einem BNF-ähnlichen Format, das der Parser von DateTimeImmutable, DateTime, date_create(), date_create_immutable() und strtotime() versteht.
Die Formatierung von DateTimeImmutable- und DateTime-Objekten wird in der Dokumentation zur Methode DateTimeInterface::format() beschrieben.
Beschreibung | Format | Beispiele |
---|---|---|
daysuf (Suffix für einen Tag des Monats) |
"st" | "nd" | "rd" | "th" | |
dd (Tag des Monats; ohne vorangestellte Null) |
([0-2]?[0-9] | "3"[01]) daysuf ? |
"7th", "22nd", "31" |
DD (Tag des Monats; zwei Ziffern mit vorangestellter Null) |
"0" [0-9] | [1-2][0-9] | "3" [01] | "07", "31" |
m (vollständiger oder abgekürzter Monatsname) |
'january' | 'february' | 'march' | 'april' | 'may' | 'june' | 'july' | 'august' | 'september' | 'october' | 'november' | 'december' | 'jan' | 'feb' | 'mar' | 'apr' | 'may' | 'jun' | 'jul' | 'aug' | 'sep' | 'sept' | 'oct' | 'nov' | 'dec' | "I" | "II" | "III" | "IV" | "V" | "VI" | "VII" | "VIII" | "IX" | "X" | "XI" | "XII" | |
M (Monatskürzel) |
'jan' | 'feb' | 'mar' | 'apr' | 'may' | 'jun' | 'jul' | 'aug' | 'sep' | 'sept' | 'oct' | 'nov' | 'dec' | |
mm (Nummer des Monats) |
"0"? [0-9] | "1"[0-2] | "0", "04", "7", "12" |
MM (Nummer des Monats; mit vorangestellter Null) |
"0" [0-9] | "1"[0-2] | "00", "04", "07", "12" |
y (Jahr) |
[0-9]{1,4} | "00", "78", "08", "8", "2008" |
yy (Jahr; zwei Ziffern) |
[0-9]{2} | "00", "08", "78" |
YY (Jahr; vier Ziffern) |
[0-9]{4} | "2000", "2008", "1978" |
YYY (Jahr; erweitert, 5-19 Ziffern) |
[0-9]{5,19} | "81412", "20192" |
Beschreibung | Format | Beispiele |
---|---|---|
Monat und Tag; amerikanische Schreibweise | mm "/" dd |
"5/12", "10/27" |
Monat, Tag und Jahr; amerikanische Schreibweise | mm "/" dd "/" y |
"12/22/78", "1/17/2006", "1/17/6" |
Jahr (vier Ziffern), Monat und Tag; getrennt durch Schrägstriche | YY "/" mm "/" dd |
"2008/6/30", "1978/12/22" |
Jahr (vier Ziffern) und Monat (GNU) | YY "-" mm |
"2008-6", "2008-06", "1978-12" |
Jahr, Monat und Tag; getrennt durch Bindestriche | y "-" mm "-" dd |
"2008-6-30", "78-12-22", "8-6-21" |
Tag, Monat und Jahr (vier Ziffern); getrennt durch Punkte, Tabulatorzeichen oder Bindestriche | dd [.\t-] mm [.-] YY |
"30-6-2008", "22.12.1978" |
Tag, Monat und Jahr (zwei Ziffern); getrennt durch Punkte oder Tabulatorzeichen | dd [.\t] mm "." yy |
"30.6.08", "22\t12.78" |
Tag, Monat (textuell) und Jahr | dd ([ \t.-])* m ([ \t.-])* y |
"30-June 2008", "22DEC78", "14 III 1879" |
Monat (textuell) und Jahr (vier Ziffern); der Tag wird auf den 1. zurückgesetzt | m ([ \t.-])* YY |
"June 2008", "DEC1978", "March 1879" |
Jahr (vier Ziffern) und Monat (textuell); der Tag wird auf den 1. zurückgesetzt | YY ([ \t.-])* m |
"2008 June", "1978-XII", "1879.MArCH" |
Monat (textuell), Tag und Jahr | m ([ .\t-])* dd [,.stndrh\t ]+ y |
"July 1st, 2008", "April 17, 1790", "May.9,78" |
Monat (textuell) und Tag | m ([ .\t-])* dd [,.stndrh\t ]* |
"July 1st,", "Apr 17", "May.9" |
Tag und Monat (textuell) | dd ([ .\t-])* m |
"1 July", "17 Apr", "9.May" |
Monatskürzel, Tag und Jahr | M "-" DD "-" y |
"May-09-78", "Apr-17-1790" |
Jahr, Monatskürzel und Tag | y "-" M "-" DD |
"78-Dec-22", "1814-MAY-17" |
Jahr (und zwar nur das Jahr) | YY |
"1978", "2008" |
Jahr (erweitert; 5-19 Ziffern mit Vorzeichen) | [+-] YYY |
"-81120", "+20192" |
Monat (textuell) (und zwar nur der Monat) | m |
"March", "jun", "DEC" |
Beschreibung | Format | Beispiele |
---|---|---|
Acht Ziffern für Jahr, Monat und Tag | YY MM DD |
"15810726", "19780417", "18140517" |
Jahr (vier Ziffern), Monat und Tag; getrennt durch Schrägstriche | YY "/" MM "/" DD |
"2008/06/30", "1978/12/22" |
Jahr (zwei Ziffern), Monat und Tag; getrennt durch Schrägstriche | yy "-" MM "-" DD |
"08-06-30", "78-12-22" |
Jahr (vier Ziffern, optional mit Vorzeichen), Monat und Tag | [+-]? YY "-" MM "-" DD |
"-0002-07-26", "+1978-04-17", "1814-05-17" |
Jahr (5+ Ziffern mit erforderlichem Vorzeichen), Monat und Tag | [+-] YYY "-" MM "-" DD |
"-81120-02-26", "+20192-04-17" |
Hinweis:
Bei den Formaten
y
undyy
werden Jahreszahlen unter 100 auf besondere Weise behandelt. Liegt die Jahreszahl im Bereich 0-69 (einschließlich), wird 2000 addiert, liegt sie im Bereich 70-99 (einschließlich), wird 1900 addiert. Das bedeutet, dass "00-01-01" als "2000-01-01" interpretiert wird.
Hinweis:
Das Format "Tag, Monat und Jahr (zwei Ziffern); getrennt durch Punkte oder Tabulatorzeichen" (
dd
[.\t]mm
". "yy
) funktioniert nur für Jahre im Bereich 61-99 (einschließlich). Außerhalb dieses Bereichs hat das Zeitformat "HH
[.:]MM
[.:]SS
" Vorrang.
Hinweis:
Das Format "Jahr (und zwar nur das Jahr)" funktioniert nur dann zuverlässig, wenn die Zeitangabe bereits gefunden wurde. Andernfalls, wenn das vierstellige Jahr als
HH
MM
interpretiert werden kann, werden stattdessen diese beiden Datumselemente gesetzt.Damit konsistent nur ein Jahreswert interpretiert wird, sollte DateTimeImmutable::createFromFormat() mit dem Spezifizierer
Y
verwendet werden.
Es ist möglich, die Formate dd
und
DD
zu über- oder unterschreiten. Dabei bezeichnet der
Tag 0 den letzten Tag des vorherigen Monats, während eine Überschreitung
zum nächsten Monat gezählt wird. Somit entspricht "2008-08-00" dem
"2008-07-31" und "2008-06-31" dem "2008-07-01" (der Juni hat nur 30 Tage).
Wie aus dem obigen regulären Ausdruck hervorgeht, ist der Wertebereich für den Tag auf 0-31 beschränkt. So ist z. B. "2008-06-32" keine gültige Datumsangabe.
Es ist auch möglich, die Formate mm
und
MM
mit dem Wert 0 zu unterschreiten. Dabei steht der
Monat 0 für den Dezember des Vorjahres. Zum Beispiel ist "2008-00-22"
gleichbedeutend mit "2007-12-22".
Wenn die beiden vorherigen Fälle kombiniert werden und sowohl der Tag als auch der Monat unterlaufen werden, geschieht Folgendes: "2008-00-00" wird zunächst in "2007-12-00" umgewandelt, das dann in "2007-11-30" umgewandelt wird. Dies geschieht auch mit der Zeichenkette "0000-00-00", die in "-0001-11-30" umgewandelt wird (das Jahr -1 im ISO 8601-Kalender, das dem Jahr 2 vor Christus im proleptischen gregorianischen Kalender entspricht).
Diese Seite beschreibt die verschiedenen zusammengesetzten Datums- und Zeitformate in einem BNF-ähnlichen Format, das der Parser von DateTimeImmutable, DateTime, date_create(), date_create_immutable() und strtotime() versteht.
Die Formatierung von DateTimeImmutable- und DateTime-Objekten wird in der Dokumentation zur Methode DateTimeInterface::format() beschrieben.
Beschreibung | Formate | Beispiele |
---|---|---|
DD (Tag des Monats; zwei Ziffern mit vorangestellter Null) |
"0" [0-9] | [1-2][0-9] | "3" [01] | "02", "12", "31" |
doy (Tag des Jahres; drei Ziffern) |
"00"[1-9] | "0"[1-9][0-9] | [1-2][0-9][0-9] | "3"[0-5][0-9] | "36"[0-6] | "001", "012", "180", "350", "366" |
frac (Bruchteil) |
. [0-9]+ | ".21342", ".85" |
hh (Stunden im 12-Stunden-Format) |
"0"?[1-9] | "1"[0-2] | "04", "7", "12" |
HH (Stunden im 24-Stunden-Format) |
[01][0-9] | "2"[0-4] | "04", "07", "19" |
meridian (a.m.=vormittags oder p.m.=nachmittags) |
[AaPp] .? [Mm] .? [\0\t ] | "A.m.", "pM", "am." |
ii (Minuten) |
[0-5]?[0-9] | "04", "8", "59" |
II (Minuten; mit vorangestellter Null) |
[0-5][0-9] | "04", "08", "59" |
M (Monatskürzel) |
'jan' | 'feb' | 'mar' | 'apr' | 'may' | 'jun' | 'jul' | 'aug' | 'sep' | 'sept' | 'oct' | 'nov' | 'dec' | |
MM (Nummer des Monats; mit vorangestellter Null) |
[0-1][0-9] | "00", "12" |
space (Leer- und Tabulatorzeichen) |
[ \t] | |
ss (Sekunden) |
([0-5]?[0-9])|60 | "04", "8", "59", "60" (Schaltsekunde) |
SS (Sekunden; mit vorangestellter Null) |
[0-5][0-9] | "04", "08", "59" |
W (Woche des Jahres) |
"0"[1-9] | [1-4][0-9] | "5"[0-3] | "05", "17", "53" |
tzcorrection (Zeitverschiebung) |
"GMT"? [+-] hh ":"? II ? |
"+0400", "GMT-07:00", "-07:00" |
YY (Jahr; vier Ziffern) |
[0-9]{4} | "2000", "2008", "1978" |
Beschreibung | Beispiele |
---|---|
ATOM | "2022-06-02T16:58:35+00:00" |
COOKIE | "Thursday, 02-Jun-2022 16:58:35 UTC" |
ISO8601 | "2022-06-02T16:58:35+0000" |
» RFC 822 | "Thu, 02 Jun 22 16:58:35 +0000" |
» RFC 850 | "Thursday, 02-Jun-22 16:58:35 UTC" |
» RFC 1036 | "Thu, 02 Jun 22 16:58:35 +0000" |
» RFC 1123 | "Thu, 02 Jun 2022 16:58:35 +0000" |
» RFC 2822 | "Thu, 02 Jun 2022 16:58:35 +0000" |
» RFC 3339 | "2022-06-02T16:58:35+00:00" |
» RFC 3339 Erweitert | "2022-06-02T16:58:35.698+00:00" |
» RFC 7231 | "Thu, 02 Jun 2022 16:58:35 GMT" |
RSS | "Thu, 02 Jun 2022 16:58:35 +0000" |
W3C | "2022-06-02T16:58:35+00:00" |
Beschreibung | Format | Beispiele |
---|---|---|
Gebräuchliches Protokollformat | dd "/" M "/" YY : HH ":" II ":" SS space tzcorrection |
"10/Oct/2000:13:55:36 -0700" |
EXIF | YY ":" MM ":" DD " " HH ":" II ":" SS |
"2008:08:07 18:11:31" |
ISO-Jahr mit ISO-Woche | YY "-"? "W" W |
"2008W27", "2008-W28" |
ISO-Jahr mit ISO-Woche und -Tag | YY "-"? "W" W "-"? [0-7] |
"2008W273", "2008-W28-3" |
MySQL | YY "-" MM "-" DD " " HH ":" II ":" SS |
"2008-08-07 18:11:31" |
PostgreSQL: Jahr mit Tag des Jahres | YY "."? doy |
"2008.197", "2008197" |
SOAP | YY "-" MM "-" DD "T" HH ":" II ":" SS frac tzcorrection ? |
"2008-07-01T22:35:17.02", "2008-07-01T22:35:17.03+08:00" |
Unix-Zeitstempel | "@" "-"? [0-9]+ | "@1215282385" |
Unix-Zeitstempel mit Mikrosekunden | "@" "-"? [0-9]+ "." [0-9]{0,6} | "@1607974647.503686" |
XMLRPC | YY MM DD "T" hh ":" II ":" SS |
"20080701T22:38:07", "20080701T9:38:07" |
XMLRPC (kompakt) | YY MM DD 't' hh II SS |
"20080701t223807", "20080701T093807" |
WDDX | YY "-" mm "-" dd "T" hh ":" ii ":" ss |
"2008-7-1T9:3:37" |
Hinweis:
Beim "W" in den Formaten "ISO-Jahr mit ISO-Woche" und "ISO-Jahr mit ISO-Woche und -Tag" wird zwischen Groß- und Kleinschreibung unterschieden, d. h. es darf nur ein großes "W" verwendet werden.
Beim "T" in den Formaten SOAP, XMLRPC und WDDX wird zwischen Groß- und Kleinschreibung unterschieden, d. h. es darf nur ein großes "T" verwendet werden.
Das Format "Unix-Zeitstempel" setzt die Zeitzone auf UTC.
Diese Seite beschreibt die verschiedenen relativen Datums- und Zeitformate in einem BNF-ähnlichen Format, das der Parser von DateTimeImmutable, DateTime, date_create(), date_create_immutable() und strtotime() versteht.
Die Formatierung von DateTimeImmutable- und DateTime-Objekten wird in der Dokumentation zur Methode DateTimeInterface::format() beschrieben.
Beschreibung | Format |
---|---|
dayname (Name eines Tages) |
'sunday' | 'monday' | 'tuesday' | 'wednesday' | 'thursday' | 'friday' | 'saturday' | 'sun' | 'mon' | 'tue' | 'wed' | 'thu' | 'fri' | 'sat' |
daytext (Intervalle in Wochen) |
'weekday' | 'weekdays' |
number |
[+-]?[0-9]+ |
ordinal (Ordnungszahlen und Indizes) |
'first' | 'second' | 'third' | 'fourth' | 'fifth' | 'sixth' | 'seventh' | 'eighth' | 'ninth' | 'tenth' | 'eleventh' | 'twelfth' | 'next' | 'last' | 'previous' | 'this' |
reltext (Zeiger) |
'next' | 'last' | 'previous' | 'this' |
space (Leer- und Tabulatorzeichen) |
[ \t]+ |
unit (Intervalle) |
'ms' | 'µs' | (( 'msec' | 'millisecond' | 'µsec' | 'microsecond'
| 'usec' | 'sec' | 'second' | 'min' | 'minute' | 'hour' | 'day' |
'fortnight' | 'forthnight' | 'month' | 'year') 's'?) | 'weeks' |
daytext |
Format | Beschreibung | Beispiele |
---|---|---|
'yesterday' | Mitternacht von gestern | "yesterday 14:00" |
'midnight' | Die Zeit wird auf 00:00:00 gesetzt | |
'today' | Die Zeit wird auf 00:00:00 gesetzt | |
'now' | Jetzt - dies wird einfach ignoriert | |
'noon' | Die Zeit wird auf 12:00:00 gesetzt | "yesterday noon" |
'tomorrow' | Mitternacht von morgen | |
'back of' hour |
15 Minuten nach der angegebenen Stunde | "back of 7pm", "back of 15" |
'front of' hour |
15 Minuten vor der angegebenen Stunde | "front of 5am", "front of 23" |
'first day of' | Wird auf den ersten Tag des aktuellen Monats gesetzt. Da dies nur den aktuellen Monat betrifft, ist es in der Regel am besten, dieses Format gefolgt vom Namen des Monats zu verwenden. | "first day of January 2008" |
'last day of' | Wird auf den letzten Tag des aktuellen Monats gesetzt. Da dies nur den aktuellen Monat betrifft, ist es in der Regel am besten, dieses Format gefolgt vom Namen des Monats zu verwenden. | "last day of next month" |
ordinal space dayname space 'of' |
Berechnet den x -ten Wochentag des aktuellen Monats.
|
"first sat of July 2008" |
'last' space dayname space 'of' |
Berechnet den letzten Wochentag des aktuellen Monats. | "last sat of July 2008" |
number space ? (unit | 'week') |
Verarbeitet relative Zeitelemente, deren Wert eine Zahl ist. | "+5 weeks", "12 day", "-7 weekdays" |
ordinal space unit |
Verarbeitet relative Zeitelemente, deren Wert ein Text ist.
last und previous entsprechen
-1 , this entspricht nichts, und
next entspricht +1 .
|
"fifth day", "second month", "last day", "previous year" |
'ago' | Kehrt alle Werte der zuvor gefundenen relativen Zeitpunkte um. | "2 days ago", "8 days ago 14:00", "2 months 5 days ago", "2 months ago 5 days", "2 days ago" |
dayname |
Springt zum nächsten Tag mit diesem Namen (siehe Hinweis). | "Monday" |
reltext space 'week' |
Verarbeitet das spezielle Format "Wochentag + letzte/diese/nächste Woche". | "Monday next week" |
Hinweis:
Relative Angaben werden immer nach nicht-relativen Angaben verarbeitet. Das bedeutet, dass "+1 week july 2008" und "july 2008 +1 week" gleichwertig sind.
Ausnahmen von dieser Regel sind: "yesterday", "midnight", "today", "noon" und "tomorrow". Zu beachten ist, dass sich "tomorrow 11:00" und "11:00 tomorrow" unterscheiden. Angenommen, das heutige Datum ist "23. Juli 2008", dann gibt die erste Variante "2008-07-24 11:00" zurück, während die zweite Variante "2008-07-24 00:00" zurückgibt. Der Grund für dieses Verhalten ist, dass sich diese fünf Ausdrücke direkt auf die aktuelle Zeit auswirken.
Schlüsselwörter wie "first day of" hängen vom Zusammenhang ab, in dem die relative Formatierung verwendet wird. Wenn sie in einer statischen Methode oder Funktion verwendet wird, ist der Referenzpunkt der aktuelle Zeitstempel des Systems. Wenn sie jedoch in DateTime::modify() oder DateTimeImmutable::modify() verwendet wird, bezieht sie sich auf das Objekt, für das die Methode
modify()
aufgerufen wird.
Hinweis:
Wenn der in der Zeichenkette für Datum und Uhrzeit verwendete Wochentag mit dem aktuellen Wochentag übereinstimmt, sind die folgenden Hinweise zu beachten. Der aktuelle Wochentag kann auch aus nicht-relativen Teilen der Zeichenkette (neu) berechnet worden sein.
- "
dayname
" rückt nicht auf einen anderen Tag vor (Beispiel: "Wed July 23rd, 2008" bedeutet "2008-07-23").- "
number
dayname
" rückt nicht auf einen anderen Tag vor (Beispiel: "1 wednesday july 23rd, 2008" bedeutet "2008-07-23").- "
number
weekdayname
" fügt zuerst die Anzahl der Wochen hinzu, rückt aber nicht auf einen anderen Tag vor. In diesem Fall sind "number
week" und "dayname
" zwei getrennte Blöcke (Beispiel: "+1 week wednesday july 23rd, 2008" bedeutet "2008-07-30").- "
ordinal
dayname
" rückt auf einen anderen Tag vor (Beispiel "first wednesday july 23rd, 2008" bedeutet "2008-07-30").- "
number
weekordinal
dayname
" fügt zuerst die Anzahl der Wochen hinzu und rückt dann auf einen anderen Tag vor. In diesem Fall sind "number
week" und "ordinal
dayname
" zwei getrennte Blöcke (Beispiel: "+1 week first wednesday july 23rd, 2008" bedeutet "2008-08-06").- "
ordinal
dayname
'of' " rückt nicht auf einen anderen Tag vor (Beispiel: "first wednesday of july 23rd, 2008" bedeutet "2008-07-02", weil die spezifische Formulierung mit 'of' den Tag des Monats auf '1' zurücksetzt und das "23rd" hier ignoriert wird).Zu beachten ist auch, dass das "of" in "
ordinal
space
dayname
space
'of' " und "'last'space
dayname
space
'of' " etwas Besonderes bewirkt.
- Es setzt den Tag des Monats auf 1.
- "
ordinal
dayname
'of' " rückt nicht auf einen anderen Tag vor (Beispiel: "first tuesday of july 2008" bedeutet "2008-07-01").- "
ordinal
dayname
" rückt nicht auf einen anderen Tag vor (Beispiel: "first tuesday july 2008" bedeutet "2008-07-08", siehe auch Punkt 4 in obiger Liste).- "'last'
dayname
'of' " gibt den letztendayname
des aktuellen Monats zurück (Beispiel: "last wed of july 2008" bedeutet "2008-07-30")- "'last'
dayname
" gibt den letztendayname
vor dem aktuellen Tag zurück (Beispiel: "last wed july 2008" bedeutet "2008-06-25"; "july 2008" setzt zuerst das aktuelle Datum auf "2008-07-01" und mit "last wed" verschiebt sich das Datum auf den vorherigen Mittwoch, d. h. auf den "2008-06-25").
Hinweis:
Relative Monatswerte werden auf der Grundlage der Länge der Monate berechnet, die sie durchlaufen. Ein Beispiel wäre "+2 month 2011-11-30", was "2012-01-30" ergeben würde. Das liegt daran, dass der November 30 Tage hat und der Dezember 31 Tage, was insgesamt 61 Tage ergibt.
Hinweis:
number
ist eine ganzzahlige Zahl; wenn eine Dezimalzahl angegeben wird, wird der Punkt (oder das Komma) in der Regel als Begrenzungszeichen interpretiert. Zum Beispiel wird'+1.5 hours'
als'+1 5 hours'
interpretiert und nicht als'+1 hour +30 minutes'
.
Version | Beschreibung |
---|---|
8.2.0 |
number akzeptiert keine mehrfachen Vorzeichen
mehr, z. B. +-2 .
|
7.0.8 | Wochen beginnen immer am Montag. Bisher galt auch der Sonntag als Wochenbeginn. |