Verstehen der Diskrepanz im Verhalten von new Date() zwischen Chrome und Firefox
Beim Konvertieren einer Datumszeichenfolge in ein Date-Objekt mit new Date( ) ergibt sich ein subtiler Unterschied zwischen Chrome und Firefox. Dieses Verhalten kann verwirrend sein, insbesondere wenn mit UTC-Zeitzeichenfolgen gearbeitet wird.
Der in der Frage bereitgestellte Code, var date = new Date('2013-02-27T17:00:00');, erstellt ein Datum Objekt aus einer Datumszeichenfolge im UTC-Format. Das Ergebnis unterscheidet sich jedoch zwischen den beiden Browsern:
Die Ursache der Diskrepanz
Der Unterschied ergibt sich aus der Interpretation der Datumszeichenfolge. Firefox interpretiert die Zeichenfolge als Ortszeit in der Zeitzone des Browsers, während Chrome sie als UTC interpretiert. Infolgedessen fügt Firefox den Zeitzonenversatz des Browsers zum Datum hinzu, wodurch es einen Tag nach UTC angezeigt wird.
Die Lösung
Um diese Diskrepanz zu beheben und zu erhalten Um in beiden Browsern die korrekte UTC-Zeit anzuzeigen, ist es wichtig, das richtige Format für UTC-Datumszeichenfolgen einzuhalten. Das korrekte Format ist:
YYYY-MM-DDTHH:mm:ssZ
wobei:
Durch das Hinzufügen des Indikators „Z“ am Ende der Datumszeichenfolge wird dies von Browsern korrekt interpretiert es als UTC-Zeit.
Aktualisierter Code:
<code class="javascript">var date = new Date('2013-02-27T17:00:00Z'); // Appends 'Z' to indicate UTC alert(date);</code>
Dieser aktualisierte Code erzeugt jetzt dasselbe korrekte UTC-Datumsobjekt in Firefox und Chrome.
Das obige ist der detaillierte Inhalt vonWarum verhält sich „new Date()' in Chrome und Firefox beim Konvertieren von UTC-Zeitzeichenfolgen unterschiedlich?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!