Diskrepanz bei der Konvertierung von Datumszeichenfolgen zwischen Chrome und Firefox
Beim Versuch, eine Datumszeichenfolge mithilfe von new Date() in ein Datumsobjekt zu konvertieren, Benutzer zwischen Chrome und Firefox kann es zu unterschiedlichen Ergebnissen kommen. Diese Diskrepanz ergibt sich daraus, wie die beiden Browser eine Datumszeichenfolge interpretieren, die UTC (koordinierte Weltzeit) darstellt.
Firefox vs. Chrome-Verhalten
In Firefox ist die Codevariable date = neues Datum('2013-02-27T17:00:00'); Rückgabe erfolgt am Mittwoch, 27. Februar 2013, 17:00:00 Uhr GMT 0700 (SE Asia Standard Time). Dies liegt daran, dass Firefox davon ausgeht, dass die Datumszeichenfolge in der Ortszeit vorliegt und sie in die lokale Zeitzone des Browsers umwandelt.
Im Gegensatz dazu interpretiert Chrome die Datumszeichenfolge als UTC und gibt Do, 28. Februar 2013, 00:00:00 GMT 0700 zurück (Standardzeit Südostasiens). Dies liegt daran, dass in der Datumszeichenfolge der Buchstabe „Z“ fehlt, der die UTC-Zeit angibt.
Problem beheben
Um sicherzustellen, dass beide Browser das korrekte UTC-Datum zurückgeben, Die Datumszeichenfolge muss korrekt formatiert sein. Das korrekte Format für UTC ist JJJJ-MM-TTTHH:MM:SSZ. In diesem Fall muss das fehlende „Z“ am Ende von „2013-02-27T17:00:00“ angehängt werden.
Durch die Überarbeitung des Codes in var date = new Date('2013-02 -27T17:00:00Z'); sowohl Chrome als auch Firefox geben das erwartete UTC-Datum und die erwartete UTC-Uhrzeit zurück, nämlich Do, 28. Februar 2013, 00:00:00 GMT 0700 (SE Asia Standard Time).
Das obige ist der detaillierte Inhalt vonWarum unterscheidet sich die Konvertierung von Datumszeichenfolgen zwischen Chrome und Firefox?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!