Browser, Zeitzonen und Chrome 67: Navigieren zu historischen Zeitzonenänderungen
Im Zusammenhang mit Zeitzonen und Browserverhalten eine aktuelle Änderung in Chrome 67 hat bei Entwicklern Bedenken hervorgerufen. Beim Update auf Version 67 sind bei einigen Benutzern Abweichungen von der Zeitzonenverschiebung im Vergleich zu früheren Browserversionen und anderen Browsern aufgetreten.
Problembeschreibung
Das Hauptproblem liegt in der Handhabung früherer Datumsangaben 1970, insbesondere der Zeitzonenversatz für die Zeitzone Europa/Moskau. In früheren Chrome-Versionen wurde der Offset durchweg mit 03:00 gemeldet. Allerdings gibt Chrome 67 jetzt 02:30 für Daten vor 1900 zurück.
Erklärung
Um diese Änderung zu verstehen, ist es wichtig, sich auf die IANA-Zeitzonendatenbank zu beziehen. Dies stellt Referenzdaten für die Zeitzonenverwaltung des Browsers bereit. Laut dieser Datenbank hatte die Zeitzone Europa/Moskau im Jahr 1900 tatsächlich einen Versatz von 02:30:17. Chrome scheint diesen Versatz auf 02:30 abzurunden, was zu dem beobachteten Verhalten führt.
Auswirkungen und Überlegungen
Obwohl es wie eine geringfügige Anpassung erscheinen mag, kann diese Änderung erhebliche Auswirkungen auf Code haben, der auf genauen historischen Zeitzonendaten basiert. Um dieses Problem zu beheben, wird empfohlen, die Verwendung von Zeitzoneninformationen für Daten vor 1970 zu vermeiden. Die IANA-Theoriedatei erkennt ausdrücklich die Herausforderungen an, zuverlässige Daten für diese frühen Zeiträume bereitzustellen.
Mögliche Ursache der Änderung
Es lohnt sich zu spekulieren, warum diese Änderung speziell in Chrome 67 aufgetreten ist. Eine mögliche Erklärung ist, dass Chrome möglicherweise damit begonnen hat, die IANA-Zeitzonendaten direkt zu verwenden, anstatt sich auf die vom Betreiber bereitgestellten Zeitzonendaten zu verlassen System. Dies würde die Abweichung von früheren Chrome-Versionen erklären, die möglicherweise die Betriebssystemdaten verwendet haben.
Fazit
Das Verständnis der zugrunde liegenden Mechanismen hinter der Zeitzonenbehandlung in Browsern ist der Schlüssel dazu Vermeidung unerwarteter Verhaltensweisen. Durch die Berücksichtigung der Datenquellen und der Nuancen historischer Zeitzonenübergänge können Entwickler ihren Code an die neuesten Browseränderungen anpassen und eine konsistente und zuverlässige Zeitzonenbehandlung sicherstellen. Ebenso wichtig ist es, die Einschränkungen und die Genauigkeit der Daten zu berücksichtigen, die für Daten vor 1970 verfügbar sind.
Das obige ist der detaillierte Inhalt vonWarum meldet Chrome 67 einen anderen Zeitzonenversatz für Daten vor 1900?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!