ISO 8601 と UTC/JST の基礎を整理しました
日時フォーマットやタイムゾーンは、開発で必ず直面するテーマです。
「2025/09/04 22:00」と書く人もいれば、「09-04-2025」と書く人もいて、システム間で混乱が起こりがちです。
混乱を防ぐためにISO 8601の規格が利用されることがあるのですが、私自身全く理解できなかったため、整理し備忘録としてまとめました。
ISO 8601 とは?
ISO 8601 は 日付と時刻の国際標準フォーマット です。
世界中のシステム間で統一的に扱えるように定められていました。
ISO 8601 の基本ルール
日付
YYYY-MM-DD
例:
2025-09-04
時刻
hh:mm:ss
例:
22:00:00
日付 + 時刻
YYYY-MM-DDThh:mm:ss
例:
2025-09-04T22:00:00
タイムゾーン指定
- UTC(協定世界時)の場合は Z を付けます
2025-09-04T13:00:00Z
- 日本時間を明示する場合はオフセットを付けます
2025-09-04T22:00:00+09:00
UTC とは?
UTC は Coordinated Universal Time(協定世界時) で、世界の基準となる時刻でした。
地域差や夏時間の影響を受けないため、システム内部の基準として使われることが多いです。
例:
2025-09-04T13:00:00Z
JST とは?
JST は Japan Standard Time(日本標準時) で、日本の標準時刻でした。
UTC から +9時間 の差があります。
例:
2025-09-04T22:00:00+09:00
これはUTC表記の 2025-09-04T13:00:00Z と同じ時刻を示しています。
UTC と JST の関係を整理しました
表記 | 意味 |
---|---|
2025-09-04T13:00:00Z |
UTC(協定世界時) |
2025-09-04T22:00:00+09:00 |
JST(日本時間、UTC+9) |
システム開発のベストプラクティスとしては、内部では UTC を扱い、ユーザーに見せるときだけ JST に変換する という流れにする良い。
まとめ
- ISO 8601 は日時表記の国際標準
- UTC は世界の基準時間、システム内部での保存や計算に適している
- JST は日本標準時、ユーザーに表示する時刻として利用する