cv.cm

基礎知識 · 日付と時刻

UTC とタイムゾーンの仕組み

約6分で読めます

結論

UTC(協定世界時)は、あらゆる地域の標準時の基準となる時刻です。タイムゾーンは同じローカル時刻を共有する地域のことで、-05:00 や +05:30 のような UTC からのオフセット(時差)と、夏時間の開始・終了のルールで表されます。オフセットは -12:00 から +14:00 までで、1時間単位でないものもあります。

タイムゾーン変換を開く

UTC とは

UTC は、国際度量衡局(BIPM)が世界中の数百台の原子時計から算出しています。国際原子時(TAI)と同じ SI 秒で時を刻みますが、地球の自転とのずれを 0.9 秒以内に保つため、ときどきうるう秒で調整されます。2017年以降、UTC は TAI より 37 秒遅れています。

UTC は夏時間を採用せず、季節によって変わることもありません。この安定性があるため、サーバー、ログ、航空機、データベースは UTC で動いています。

UTC と GMT の違い

日常的には GMT と UTC は同じ時刻を示しますが、同じものではありません。

UTCGMT
何か原子時計に基づく時刻の標準歴史的にはグリニッジの天文時。現在はタイムゾーンの名前
オフセット定義上のゼロ点UTC+00:00
夏時間なしGMT 自体にはないが、英国は夏に GMT から BST(UTC+01:00)に切り替える
ソフトウェアでの使い方標準の基準主にラベルとして。UTC を使うのが望ましい

実務上の落とし穴は、「ロンドン時間」が GMT と一致するのは冬だけだという点です。3月の最終日曜日から10月の最終日曜日まで、ロンドンは UTC より1時間進んでいます。

オフセットはタイムゾーンではない

+01:00 のようなオフセットは、ある1つの時点を表します。タイムゾーンは、ある場所の時間の移り変わりを表し、オフセット、夏時間のルール、それらの過去の変更履歴すべてを含みます。Linux、macOS、Android、Java、主要なブラウザーすべてが使う IANA タイムゾーンデータベースは、Europe/London、America/New_York、Asia/Kolkata のように地域と都市でタイムゾーンに名前を付けています。

未来や過去の時刻には、+00:00 より Europe/London のほうが適しています。1月はオフセットが +00:00、7月は +01:00 だとわかっているからです。+00:00 で保存した定例会議は、1年の半分は1時間ずれます。

  • 過去の時点は UTC(または Unix タイムスタンプ)で保存します。
  • 将来のローカルな予定は、ローカル時刻と IANA のタイムゾーン名で保存し、必要なときに UTC の時点を計算します。政府は夏時間のルールを直前に変えることがあるからです。
  • CST や IST のような略称は避けましょう。CST は中部標準時(UTC-6)とも中国標準時(UTC+8)とも読め、IST はインド、アイルランド、イスラエルで使われています。

夏時間(サマータイム)

夏時間(DST)は、1年のうち一定期間、時計を通常1時間進める制度です。時期は地域によって異なり、米国は3月の第2日曜日に始まり11月の第1日曜日に戻します。欧州連合は3月と10月の最終日曜日に、どこでも 01:00 UTC に切り替えます。中国、日本、インドを含むアジアとアフリカのほとんどの国は夏時間を採用していません。南半球では、夏時間はおおむね10月から4月までです。

切り替えのたびに、2つの特殊なケースが生じます。

  • 空白:時計を進めるとき、02:00 から 03:00 に飛ぶタイムゾーンでは、その日の 02:30 のようなローカル時刻は存在しません。
  • 重複:時計を戻すとき、01:30 のような時間帯が2回あるため、オフセットなしのローカル時刻だけではあいまいになります。

変わったオフセット

すべてのタイムゾーンが UTC から整数時間ずれているわけではありません。次はいずれも現在使われているものです。

オフセットタイムゾーンの例地域
-12:00Etc/GMT+12無人のベーカー島とハウランド島。時計が最も遅れているオフセット
-03:30America/St_Johnsカナダ・ニューファンドランド(標準時)
+05:30Asia/Kolkataインドとスリランカ
+05:45Asia/Kathmanduネパール
+09:30Australia/Darwinオーストラリア・北部準州
+12:45Pacific/Chathamニュージーランド・チャタム諸島(標準時)
+14:00Pacific/Kiritimatiキリバス・ライン諸島。毎日、世界で最初に新しい日を迎える

オフセットは 26 時間の幅があるため、同じ暦日は地球上のどこかで最大約 50 時間存在します。「14日の終わりまで」と言っても、タイムゾーンがなければ正確な意味を持ちません。

よくある質問

UTC と GMT は同じですか?

時計の示す時刻は同じですが、UTC は原子時に基づく時刻の標準で、GMT はタイムゾーンです。英国が GMT を使うのは冬だけで、夏は BST(UTC+01:00)を使います。

UTC は夏時間で変わりますか?

変わりません。UTC は一年中同じで、夏時間の開始や終了で UTC からのオフセットが変わるのは各地のタイムゾーンだけです。

インドが UTC+05:30 なのはなぜですか?

インドは東経 82.5° の子午線を中心とする単一のタイムゾーンを使っており、これがグリニッジから5時間半の差になるためです。30 分や 15 分単位のオフセットは、その国の経度により近づけるために選ばれています。

Etc/GMT+12 の符号は何を意味しますか?

IANA の Etc/GMT の名前では、POSIX との互換性のために符号が逆になっているので、Etc/GMT+12 は UTC-12:00 です。実在の場所には Asia/Tokyo のような都市ベースの名前を使いましょう。

基礎知識の記事一覧