Heim  >  Artikel  >  Web-Frontend  >  Warum gibt Chrome 67 für Daten vor 1970 einen anderen Zeitzonenversatz zurück?

Warum gibt Chrome 67 für Daten vor 1970 einen anderen Zeitzonenversatz zurück?

Susan Sarandon
Susan SarandonOriginal
2024-11-09 00:48:02573Durchsuche

Why is Chrome 67 returning a different time zone offset for dates before 1970?

Chrome 67 und historische Zeitzonenänderungen

Im jüngsten Chrome 67-Update sind Entwickler auf ein Problem mit der Zeitzonenbehandlung für frühere Daten gestoßen bis 1970. Ziel dieses Artikels ist es, diesen Fehler zu beheben und den davon betroffenen Entwicklern eine Anleitung zu geben.

Problem Beschreibung

Beim Aufruf von new Date("1900-01-01T00:00:00").getTimezoneOffset() beobachten Benutzer in Chrome 67 einen Versatz von -150 Minuten, während andere Browser, wie z Edge, Internet Explorer und Firefox geben durchweg -180 Minuten zurück. Diese Diskrepanz hat zu Verwirrung und Fehlern im Code geführt, der auf genauen Zeitzoneninformationen beruht.

Analyse und Lösung

Die unterschiedlichen Zeitzonenversätze in Chrome 67 im Vergleich zu anderen Browsern sind Dies ist auf die Art und Weise zurückzuführen, wie die zugrunde liegenden Zeitzonendaten beschafft und verarbeitet werden. Chrome 67 scheint Daten aus der IANA-Zeitzonendatenbank zu verwenden, die detailliertere Informationen über historische Zeitzonenänderungen liefert. Laut IANA-Datenbank hatte die betreffende Zeitzone (Europa/Moskau) im Jahr 1900 einen Versatz von 02:30:17. Chrome rundet dies auf 02:30 ab, was einen Versatz von -150 Minuten ergibt.

Für Daten vor 1970 gibt die IANA jedoch ausdrücklich an, dass es sich bei den Daten um „Best-Effort“-Daten handelt und diese möglicherweise nicht ganz korrekt sind. Daher wird davon abgeraten, sich für Daten vor 1970 auf genaue Zeitzoneninformationen zu verlassen.

Um dieses Problem zu mildern, wird Entwicklern empfohlen, die Verwendung des Date-Konstruktors mit Daten vor 1970 zu vermeiden. Stattdessen sollten sie sich an Daten danach halten die Unix-Epoche (1. Januar 1970), da IANA-Daten für diesen Zeitraum im Allgemeinen zuverlässiger sind. Wenn genaue historische Zeitzoneninformationen unerlässlich sind, müssen Entwickler möglicherweise alternative Datenquellen erkunden.

Das obige ist der detaillierte Inhalt vonWarum gibt Chrome 67 für Daten vor 1970 einen anderen Zeitzonenversatz zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn