IANAタイムゾーンデータベースの解説
IANAタイムゾーンデータベース(tzデータベースまたはOlsonデータベース)の構造、命名規則、そしてソフトウェアにおけるタイムゾーン処理の標準である理由を理解します。
Fundamentals
詳細な説明
IANAタイムゾーンデータベース
IANAタイムゾーンデータベースは、tzデータベース、tzdata、またはOlsonデータベース(元の作成者Arthur David Olsonにちなむ)としても知られ、世界で最も広く使用されているタイムゾーン情報源です。ICANN(Internet Corporation for Assigned Names and Numbers)の調整のもと、ボランティアのコミュニティによって維持されています。
構造と命名規則
タイムゾーン識別子はエリア/場所のパターンに従います:
- エリアは大陸または海洋(例:
America、Europe、Asia、Pacific) - 場所は通常、そのタイムゾーン地域で最大の都市(例:
New_York、London、Tokyo)
America/New_York # 米国東部
Europe/London # イギリス
Asia/Tokyo # 日本
Pacific/Auckland # ニュージーランド
サブリージョン用の3部構成の識別子もあります:
America/Argentina/Buenos_Aires
America/Indiana/Indianapolis
America/North_Dakota/Center
オフセットや略称を使わない理由
タイムゾーンIDは、夏時間の採用や廃止、政治的境界の変更、歴史的な調整を含むオフセット変更の完全な履歴をエンコードします。UTC-05:00のようなオフセットは、UTCとの現在の差分のみを示し、DSTが適用されるかどうかや遷移時期は分かりません。
EST(東部標準時)のような略称は曖昧です — CSTは米国中部標準時、中国標準時、またはキューバ標準時を意味する可能性があります。
更新方法
データベースは、政府がタイムゾーンルールを変更するたびに、年に数回(通常5-10リリース)更新されます。各リリースには2024a、2024bのように年と文字で名前が付けられます。更新はそれぞれの更新メカニズムを通じてオペレーティングシステム、ブラウザ、プログラミング言語、データベースに伝播します。
データ内容
各タイムゾーンエントリには以下が含まれます:
- 標準時のUTCオフセット
- DSTルール(該当する場合)遷移日を含む
- 標準時の採用までさかのぼる歴史的変更
- うるう秒情報(別ファイル)
ユースケース
IANAタイムゾーンデータベースの理解は、日付と時刻を扱うソフトウェアを構築するすべての開発者にとって不可欠です。データベースにタイムスタンプを保存する場合、地域間でジョブをスケジュールする場合、カレンダーアプリケーションを構築する場合、ユーザーインターフェースに時刻を表示する場合、IANAタイムゾーンIDを使用することで、DST遷移、歴史的変更、政治的境界のシフトを含むすべてのエッジケースで正確性が保証されます。