Baseline Widely available
Die Date.parse()
statische Methode verarbeitet eine Zeichenkette, die ein Datum darstellt, und gibt den Zeitstempel des Datums zurück.
// Standard date-time string format
const unixTimeZero = Date.parse("1970-01-01T00:00:00Z");
// Non-standard format resembling toUTCString()
const javaScriptRelease = Date.parse("04 Dec 1995 00:12:00 GMT");
console.log(unixTimeZero);
// Expected output: 0
console.log(javaScriptRelease);
// Expected output: 818035920000
Syntax Parameter
dateString
Eine Zeichenkette im Datums- und Zeitformat. Weitere Informationen zu den Fallstricken bei der Verwendung unterschiedlicher Formate finden Sie in der verlinkten Referenz.
Eine Zahl, die den Zeitstempel des angegebenen Datums darstellt. Wenn dateString
nicht als gültiges Datum geparst werden kann, wird NaN
zurückgegeben.
Diese Funktion ist nützlich, um Datumswerte basierend auf Zeichenkettenwerten festzulegen, zum Beispiel in Verbindung mit der setTime()
Methode.
Die Formate, die parse()
verarbeiten kann, sind nicht explizit angegeben, es gibt jedoch einige Konstanten:
toISOString()
) muss unterstützt werden.x
ein Date ist, dessen Millisekundenmenge null ist, dann sollte x.valueOf()
gleich einem der folgenden sein: Date.parse(x.toString())
, Date.parse(x.toUTCString())
, Date.parse(x.toISOString())
. Dies bedeutet, dass die Formate, die durch toString()
und toUTCString()
produziert werden, ebenfalls unterstützt werden sollten.toLocaleString()
erzeugt wird. GroÃe Engines versuchen jedoch alle, das toLocaleString("en-US")
Format zu unterstützen.Andere Formate sind implementationsspezifisch und funktionieren möglicherweise nicht in allen Browsern. Eine Bibliothek kann helfen, wenn viele unterschiedliche Formate unterstützt werden müssen. Tatsächlich ist die Unzuverlässigkeit von Date.parse()
eines der Motive für die Einführung der Temporal
API.
Da parse()
eine statische Methode von Date
ist, wird sie immer als Date.parse()
verwendet und nicht als Methode eines erstellten Date
Objekts.
Die folgenden Aufrufe geben alle 1546300800000
zurück. Der erste impliziert UTC-Zeit, da es sich nur um ein Datum handelt, und die anderen spezifizieren explizit die UTC-Zeitzone.
Date.parse("2019-01-01");
Date.parse("2019-01-01T00:00:00.000Z");
Date.parse("2019-01-01T00:00:00.000+00:00");
Der folgende Aufruf, der keine Zeitzone angibt, wird auf den 2019-01-01 um 00:00:00 in der lokalen Zeitzone des Systems gesetzt, da er sowohl Datum als auch Uhrzeit enthält.
Date.parse("2019-01-01T00:00:00");
toString() und toUTCString() Formate
Neben dem Standard-Datums- und Zeitformat werden die Formate toString()
und toUTCString()
unterstützt:
// toString() format
Date.parse("Thu Jan 01 1970 00:00:00 GMT-0500 (Eastern Standard Time)");
// 18000000 in all implementations in all timezones
// toUTCString() format
Date.parse("Thu, 01 Jan 1970 00:00:00 GMT");
// 0 in all implementations in all timezones
Nicht-standardisierte Datumszeichenketten
Hinweis: Dieser Abschnitt enthält implementationsspezifisches Verhalten, das in verschiedenen Browsern oder unterschiedlichen Browserversionen inkonsistent sein kann. Es soll keine umfassende Tabelle zur Browser-Kompatibilität darstellen, und Sie sollten immer eigene Tests durchführen, bevor Sie ein beliebiges Format in Ihrem Code verwenden.
Implementationen standardmäÃig setzen häufig die lokale Zeitzone, wenn die Datumszeichenkette nicht standardisiert ist. Für Konsistenz nehmen wir an, dass die Laufzeit die UTC-Zeitzone verwendet, und sofern nicht anders angegeben, variiert die Ausgabe mit der Zeitzone des Geräts. Die Sommerzeit (DST) der lokalen Zeitzone kann ebenfalls einen Einfluss darauf haben.
Hier sind einige weitere Beispiele für nicht-standardisierte Datumszeichenketten. Browser sind sehr nachsichtig beim Parsen von Datumszeichenketten und können Teile einer Zeichenkette, die sie nicht parsen können, ignorieren. Aus Kompatibilitätsgründen kopieren Browser häufig das Verhalten anderer, sodass sich diese Verarbeitungsmuster über Browser hinweg verbreiten. Wie bereits erwähnt, dienen die folgenden Beispiele nur zur Veranschaulichung und sind keineswegs erschöpfend:
Beschreibung Beispiel Chrome Firefox Safari Einzelne Zahl0
(einstellige Zahl) 946684800000 (01. Jan 2000); NaN in Firefox â¤122 -62167219200000 (01. Jan 0000) 31
(zweistellige Zahl) NaN -61188912000000 (01. Jan 0031) 999
(drei-/vierstellige Zahl) -30641733102000 (01. Jan 0999) Datumszeichenketten mit verschiedenen Trennzeichen 1970-01-01
(Standard) 0 in allen Zeitzonen 1970/01/01
0 1970,01,01
0 NaN 1970 01 01
0 NaN Zeichenketten, die wie toString()
aussehen Thu Jan 01 1970 00:00:00
Thu Jan 01 1970
Jan 01 1970 00:00:00
Jan 01 1970
0 Zeichenketten, die wie toUTCString()
aussehen Thu, 01 Jan 1970 00:00:00
Thu, 01 Jan 1970
01 Jan 1970 00:00:00
01 Jan 1970
0 Das erste Datumselement ist 2-stellig 01-02-03
(das erste Segment kann ein gültiger Monat sein) 1041465600000 (02. Jan 2003) -62132745600000 (03. Feb 0001)
27-02-03
(das erste Segment kann ein gültiger Tag, aber kein Monat sein) NaN -61312291200000 (03. Feb 0027) 49-02-03
(das erste Segment kann kein gültiger Tag sein und ist <50) 2495923200000 (03. Feb 2049) -60617980800000 (03. Feb 0049) 50-02-03
(das erste Segment kann kein gültiger Tag sein und ist â¥50) -628300800000 (03. Feb 1950) -60586444800000 (03. Feb 0050) Datumskomponenten auÃerhalb der Grenzen 2014-25-23
Mar 32, 2014
2014/25/23
NaN 2014-02-30
1393718400000 (02. Mar 2014) NaN 02/30/2014
1393718400000 Ãberflüssige Zeichen nach dem Monatsnamen 04 Dec 1995
04 Decem 1995
04 December 1995
818031600000 04 DecFoo 1995
818031600000
04 De 1995
NaN Spezifikationen Browser-Kompatibilität Siehe auch
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4