ホームページ >ウェブフロントエンド >jsチュートリアル >Chrome 67 が 1900 年より前の日付に対して不正確なタイムゾーン オフセットを返すのはなぜですか?

Chrome 67 が 1900 年より前の日付に対して不正確なタイムゾーン オフセットを返すのはなぜですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-08 17:31:02403ブラウズ

Why is Chrome 67 Returning Inaccurate Time Zone Offsets for Dates Before 1900?

Chrome 67 におけるタイムゾーンの歴史的な変更: 行動喚起

はじめに:
最近の更新Chrome 67 では、タイムゾーン計算の不正確さについて開発者の間で懸念が生じています。この記事では、この問題とその潜在的な影響を調査し、その影響を軽減するためのガイダンスを提供します。

問題:
Chrome 67 に更新した後、ユーザーは次の出力に不一致が発生しました。 1900 年より前の日付に適用される場合、getTimezoneOffset() メソッド。具体的には、Chrome 67 は、その期間の日付に対して他のブラウザとは異なるタイム ゾーン オフセットを返します。

分析:
この不一致の原因は、Chrome で使用される基礎となるタイムゾーン データにあります。以前のバージョンでは、Chrome はオペレーティング システムのタイムゾーン情報に依存していました。ただし、Chrome 67 では、ブラウザがオペレーティング システムによって提供されるデータとは異なる独自の IANA タイム ゾーン データをバンドルし始めたようです。

IANA タイム ゾーン データベースには、過去のタイム ゾーン データが含まれています。包括的な歴史情報を収集するのは困難であるため、このデータはすべての時間と場所において正確であることが保証されていないことに注意することが重要です。

結果:
この不一致は、履歴データの正確なタイムゾーン情報に依存するアプリケーションに大きな影響を与える可能性があります。過去のすべての日付に対して一貫したタイム ゾーン オフセットを想定しているコードは、誤った結果を生成する可能性があります。この影響は、1900 年の境界に近い日付を処理するアプリケーションにとって特に懸念されます。

軽減策:
この問題の影響を軽減するために、開発者は次の手順を実行することをお勧めします。

  • 1970 年より前のタイムゾーン情報のクエリは避けてください。 IANA データベースは、1970 年より前のデータは信頼できない可能性があることを認めているため、それに依存しないことが最善です。
  • タイム ゾーンの変更を処理するようにコードを更新します。 1900 年より前の期間内の過去の日付を処理する必要があるアプリケーションは、潜在的なタイム ゾーン調整を考慮して更新する必要があります。
  • タイム ゾーン ライブラリの使用を検討してください。サードパーティのライブラリは、履歴データを含む、より正確かつ包括的なタイム ゾーン情報を提供できます。

結論:
Chrome のタイム ゾーン処理に対する最近の変更により、その重要性が浮き彫りになりました。過去のタイムゾーンデータの精度と信頼性を考慮すること。推奨される緩和手順を実装することで、開発者は過去のタイムゾーン移行の複雑さを乗り越えながら、アプリケーションの信頼性を継続的に確保できます。

以上がChrome 67 が 1900 年より前の日付に対して不正確なタイムゾーン オフセットを返すのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。