時差の計算方法 - 2 都市間の正確な時刻変換を行う手順
2 つの都市間の時差を正確に計算する方法を、UTC オフセットの基本から、サマータイムを考慮した実践的な変換手順まで段階的に解説します。
地球は 24 時間で 1 回転 (360 度) するため、経度 15 度ごとに 1 時間の時差が生じます。もしタイムゾーンが存在しなければ、同じ「正午」という時刻でも、ある場所では太陽が真上にあり、別の場所では深夜ということになります。19 世紀半ばまでは各都市が独自の太陽時 (地方時) を使用していましたが、鉄道網の発達により統一的な時刻体系が不可欠になりました。
経度 15 度ごとに 1 時間の帯で世界を区切るという着想は、1879 年にサンドフォード・フレミングが提案したものです。1884 年にワシントン D.C. で開かれた国際子午線会議では、グリニッジ天文台を通る経線を本初子午線 (経度 0 度) とすること、そしてこの経線を基準にした「世界日」を用いることが採択されました。会議が決めたのは共通の基準点であって時間帯そのものではありませんが、基準が定まったことで、以後各国はこの経線からの差として自国の標準時を順次採用していきました。
UTC (協定世界時) は、原子時計の精密さと地球の自転に基づく天文時を組み合わせた国際標準時です。1972 年に正式に導入され、それ以前のグリニッジ標準時 (GMT) に代わる基準となりました。UTC と GMT は実用上ほぼ同じ時刻を示しますが、UTC は原子時計に基づく科学的な定義を持つ点で異なります。
各タイムゾーンは UTC からの差 (オフセット) で表現されます。日本標準時 (JST) は UTC+9、ニューヨーク (EST) は UTC-5 です。オフセットは必ずしも整数時間刻みではなく、30 分単位・45 分単位のものも存在します。
理論上は経度 15 度ごとに 1 時間の時差が生じますが、実際のタイムゾーン境界は経線に沿っていません。国境、行政区画、経済圏、歴史的経緯など多くの要因が影響します。中国は東西に約 60 度 (理論上 4 時間分) の幅がありますが、全土で UTC+8 を採用しています。一方、ロシアは 11 のタイムゾーンを持ちます。
タイムゾーンの変更は各国政府の裁量で行われます。2011 年にサモアは UTC-11 から UTC+13 に変更し、日付変更線の西側に移動しました。これはオーストラリアやニュージーランドとの貿易を円滑にするための経済的判断でした。
帯の中心は本初子午線 (経度 0 度) で、ここに描いたのはあくまで理論上の区切りです。実際の境界は国境や行政区画に沿って曲がり、中国は東西に約 60 度 (理論上 4 時間分) の幅を持ちながら全土で UTC+8 を使い、ロシアは 11 のタイムゾーンに分かれています。インドの UTC+5:30 のように 30 分単位の国もあります。それでも変わらないのは、経度 15 度 = 1 時間という空間と時間の交換レートです。
すべてのタイムゾーンが 1 時間刻みというわけではありません。インドは全土で UTC+5:30 を使い、隣接する国々とは 30 分ずれた時刻で動いています。ネパールの UTC+5:45 は、45 分単位のオフセットを使う数少ない例のひとつです。ほかにイラン (UTC+3:30)、ミャンマー (UTC+6:30)、ニュージーランドのチャタム諸島 (UTC+12:45) も 1 時間未満の端数を持ちます。
端数のオフセットは、地理と政治の折り合いから生まれます。インドの UTC+5:30 は、東端に合う太陽時と西端に合う太陽時の中間を採り、広い国土を 1 つの標準時でまとめるための選択です。影響が実感されやすいのは予定の調整で、「相手は 3 時間先」といった暗算が効かなくなり、30 分や 45 分のずれを見落とすと会議の開始時刻が丸ごと食い違います。相手先の現地時刻を実際に確かめるのが確実です。
| 地域 | 標準時のオフセット | 1 時間刻みからのずれ | 12:00 UTC のとき |
|---|---|---|---|
| イラン | UTC+3:30 | 30 分 | 15:30 |
| インド | UTC+5:30 | 30 分 | 17:30 |
| ネパール | UTC+5:45 | 45 分 | 17:45 |
| ミャンマー | UTC+6:30 | 30 分 | 18:30 |
| チャタム諸島 (ニュージーランド) | UTC+12:45 | 45 分 | 翌日 00:45 (標準時) |
同じ 12:00 UTC でも、イランでは 15:30、標準時のチャタム諸島では日付が変わって 00:45 です (ニュージーランドの夏時間の期間はさらに進みます)。日本標準時 (UTC+9) から見ると、インドは 3 時間 30 分、ネパールは 3 時間 15 分の遅れになり、時間単位の暗算では合いません。
コンピュータシステムで使われるタイムゾーン情報は、IANA (Internet Assigned Numbers Authority) が管理する tz database (通称 Olson データベース) に集約されています。「Asia/Tokyo」「America/New_York」のような地域/都市名の形式で識別され、過去の時差変更やサマータイムの履歴も含む包括的なデータベースです。
このデータベースは年に数回更新され、各国のタイムゾーン変更を反映します。OS やプログラミング言語のランタイムはこのデータベースを参照して時刻変換を行うため、システムを最新に保つことが正確な時刻表示の前提条件となります。
この記事は役に立ちましたか?
2 つの都市間の時差を正確に計算する方法を、UTC オフセットの基本から、サマータイムを考慮した実践的な変換手順まで段階的に解説します。
ソフトウェア開発における UTC 変換の正しい実装方法を解説。保存は UTC、表示はローカルの原則から、JavaScript での具体的な実装パターン、よくあるバグの原因まで網羅します。
経度 15 度ごとに 1 時間の時差が生じる原理から、実際のタイムゾーン境界が経線と一致しない理由、極地や島嶼国の特殊事例まで、地理と時間の関係を体系的に解説します。