m moji kit v1.0.9
変換 Unix タイムスタンプ → 日本標準時 (JST)

Unix タイムスタンプを JST 日時に変換する

Unix 秒(または ms)を日本標準時の日時表記に変換する方法です。秒/ミリ秒の判別と JST = UTC+9 の関係も整理しています。

このページで変換する

TS
タイムスタンプ変換
このページで直接使えます
ツールページで開く →
UTC
ローカル
ミリ秒

よく使う組み合わせ

→ JSON フォーマッタ タイムスタンプ → JSON 次へ

解説

Unix タイムスタンプは UTC 1970-01-01T00:00:00Z からの経過秒数です。JST は UTC より 9 時間進んでいるので、UTC の時刻に +9 時間して表示すれば JST 表記になります。 単位は桁数で見分けられます。10 桁の整数なら秒、13 桁ならミリ秒、16 桁はマイクロ秒、19 桁はナノ秒の可能性が高いです。たとえば秒として 1700000000 は 2023 年 11 月、ミリ秒として読むと 1970 年 1 月になるため、結果が変なら単位を疑ってください。

サンプル入力(Unix タイムスタンプ)

1700000000

サンプル出力(日本標準時 (JST))

2023-11-15 07:13:20 (JST)

使うときのコツ

  • · 10 桁 = 秒、13 桁 = ミリ秒。桁数で見分ける
  • · サマータイム(DST)を持たない JST では時刻計算がシンプル。米国・欧州では時刻演算に注意
  • · ログの出力時刻が UTC か JST かは記録時の運用方針による。サーバー設定 (TZ) を確認する

よくある質問

JST と UTC の差は?
JST は UTC + 9 時間です。例えば UTC の 2023-11-15 00:00:00 は JST の 2023-11-15 09:00:00 です。
夏時間(サマータイム)は考慮する?
日本にはサマータイムがないので考慮不要です。米国・欧州の地域時刻には影響します。
1970 年以前の時刻はどう表現?
Unix タイムスタンプは負数で表現できます。例:-86400 は 1969-12-31T00:00:00Z。多くの言語の Date 型は負数も扱えます。
ミリ秒なのに秒として変換してしまった
値が「1970 年付近」になっていれば誤って秒として解釈した可能性が高いです。13 桁の値は ms と覚えてください。
CLI でやる方法
`TZ=Asia/Tokyo date -d @1700000000` で JST 表示できます。BSD date(macOS)は `TZ=Asia/Tokyo date -r 1700000000`。
うるう秒は JST 表示に影響する?
Unix 時刻はうるう秒を含めず POSIX 仕様で連続値です。日常用途では影響を考えなくて問題ありません。

関連ツール

TS
タイムスタンプ変換
Unix タイムスタンプと日時を双方向に変換します。秒 / ミリ秒、UTC / ローカルに対応。