Chrome 67-Fehler: Historische Zeitzonenänderungen
Problembeschreibung
Beim Update auf Chrome 67 tritt bei Benutzern beim Abrufen von Zeitzonenoffsets für Daten vor 1970 ein Fehler auf. Beispielsweise im Zeitzone Europa/Moskau:
new Date("1900-01-01T00:00:00").getTimezoneOffset() -150 new Date("2018-05-30T00:00:00").getTimezoneOffset() -180
Erklärung
Im Jahr 1900 hatte die Zeitzone Europa/Moskau einen Versatz von 02:30:17. Chrome 67 rundet offenbar auf 02:30 ab, um Abweichungen von weniger als einer Minute zu vermeiden, was zu dem beobachteten Verhalten führt.
Warum andere Browser diesen Fehler nicht anzeigen
Andere Browser wenden dieses Rundungsverhalten möglicherweise nicht an oder verwenden möglicherweise eine andere Zeitzonendatenbank.
Am besten Praktiken
Um diesen Fehler zu vermeiden, sollten Anwendungen keine Zeitzoneninformationen für Daten vor 1970 anfordern. Die IANA-Zeitzonendatenbank zielt darauf ab, genaue Daten ab der Unix-Epoche bereitzustellen, während dies bei Daten für frühere Zeiträume der Fall ist weniger zuverlässig.
Möglicher Grund für die Änderung in Chrome 67
Spekulationen deuten darauf hin Chrome 67 hat möglicherweise damit begonnen, IANA-Zeitzonendaten zu bündeln, anstatt sich auf Betriebssystemdaten zu verlassen. Dies würde den Unterschied im Verhalten gegenüber früheren Versionen von Chrome erklären.
Das obige ist der detaillierte Inhalt vonWarum erzeugt Chrome 67 Zeitzonenfehler für Daten vor 1970?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!