Als Reaktion auf ein Chrome-Update auf Version 67 ist ein Benutzer auf eine Inkonsistenz gestoßen in Datum-Zeitzonen-Offsets. Insbesondere bemerkte der Benutzer beim Abrufen von Zeitzoneninformationen für Daten vor 1970 einen Unterschied in den von verschiedenen Browsern zurückgegebenen Offset-Werten.
Beobachteter Fehler:
In Chrome 67 , new Date("1900-01-01T00:00:00").getTimezoneOffset() hat -150 zurückgegeben, was darauf hinweist ein Zeitzonenversatz von 2 Stunden und 30 Minuten von UTC, während andere Browser -180 (UTC 3) zurückgaben.
Erklärung:
Dieser Unterschied ist auf a zurückzuführen Änderung in der Art und Weise, wie Chrome 67 historische Zeitzonendaten verarbeitet. Vor 1919 betrug der Zeitzonenversatz in Europa/Moskau 2 Stunden und 30 Minuten, keine ganze Stundenzahl. Chrome 67 rundet auf die nächste ganze Stunde ab, was zu dem beobachteten Versatz von -150 führt.
Auswirkungen:
Die Inkonsistenz kann sich auf Anwendungen auswirken, die auf die Zeitzonenerkennung angewiesen sind Informationen, insbesondere für Termine davor 1970.
Lösung:
Um dieses Problem zu mildern, wird empfohlen, den Code zu ändern, um das Anfordern von Zeitzoneninformationen für Daten vor 1970 als IANA-Zeitzonendatenbank zu vermeiden Möglicherweise werden für diesen Zeitraum keine vollständig genauen Daten bereitgestellt. Darüber hinaus lohnt es sich, die möglichen Auswirkungen dieser Änderung auf vorhandenen Code zu berücksichtigen, der möglicherweise auf dem vorherigen Zeitzonen-Offset-Verhalten in Chrome beruhte.
Das obige ist der detaillierte Inhalt vonWarum gibt Chrome 67 einen ungenauen Zeitzonenversatz für Daten vor 1970 zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!