タイムゾーンのエッジケース — 30分オフセット、日付変更線など
珍しいタイムゾーンのエッジケースを探索:30分・45分オフセット、国際日付変更線、日をスキップするタイムゾーン、年の途中でタイムゾーンを変更した国。
Edge Cases
詳細な説明
すべての開発者が知るべきタイムゾーンのエッジケース
標準的な1時間単位のオフセット以外にも、タイムゾーンの世界にはソフトウェアの前提を破る驚くべきエッジケースが満載です。
30分オフセット
いくつかの地域は30分オフセットを使用しています:
| タイムゾーン | UTCオフセット | 地域 |
|---|---|---|
| Asia/Kolkata | +05:30 | インド |
| Australia/Adelaide | +09:30 / +10:30 | 南オーストラリア |
| America/St_Johns | -03:30 / -02:30 | ニューファンドランド、カナダ |
45分オフセット
さらに珍しいのは45分オフセットです:
| タイムゾーン | UTCオフセット | 地域 |
|---|---|---|
| Asia/Kathmandu | +05:45 | ネパール |
| Pacific/Chatham | +12:45 / +13:45 | チャタム諸島、NZ |
国際日付変更線
国際日付変更線はほぼ180度経線に沿って走りますが、国の周りをジグザグに走ります:
- サモアは2011年12月にUTC-11からUTC+13に切り替え、12月30日を完全にスキップ
- キリバスはUTC+12からUTC+14にまたがり、一部は常にUTCより1日先
- UTC+14(Pacific/Kiritimati)は毎日最初に新しい日を迎える場所
南極
南極にはネイティブなタイムゾーンがありません。研究基地は補給国のタイムゾーンを使用します。
1日は24時間以上
タイムゾーンがUTC-12からUTC+14にまたがるため、地球上に3つの異なるカレンダー日付が同時に存在する瞬間があります。
ユースケース
タイムゾーンのエッジケースを理解することは、グローバルに堅牢なソフトウェアを構築するために不可欠です。予約システムは30分オフセットを正しく処理する必要があります。カレンダーアプリケーションは日付変更線の越境を考慮する必要があります。「オフセットは常に1時間単位」や「1日は常に24時間」などの仮定は、いずれ本番環境で壊れます。