PitaTools Guide

Unix timeとは?日本時間との変換で間違えやすい秒・ミリ秒・時差

Unix timeの基準時刻、秒とミリ秒の見分け方、日本標準時へ変換するときの注意点を解説します。

Unix timeは基準時刻からの経過時間

Unix timeは、UTCの1970年1月1日00:00:00から何秒経過したかを表す数値です。値そのものに「日本時間」や「米国時間」という表示地域は含まれません。同じ値をどのタイムゾーンで表示するかによって、年月日時分秒の見え方が変わります。

Unix timeが0ならUTCでは1970年1月1日00:00:00、日本標準時では同日の09:00:00です。JSTはUTCより9時間進んでいます。

10桁の秒と13桁のミリ秒

多くのシステムは秒単位を使いますが、JavaScriptのDateはミリ秒単位を使います。現在付近の値なら秒はおおむね10桁、ミリ秒は13桁になるため見分ける手掛かりになります。ただし、桁数だけで決めずAPI仕様やデータベース定義を確認してください。

秒をミリ秒として扱うと1970年付近になり、ミリ秒を秒として扱うと扱える日付範囲を大きく超えます。変換結果が極端な年代なら、まず単位を疑います。

  • 秒からミリ秒へ: 1000倍
  • ミリ秒から秒へ: 1000で割る
  • 保存はUTC、表示時に地域変換すると管理しやすい

日時から戻すときのタイムゾーン

「2026年7月26日12時」をUnix timeへ戻す場合、その日時がJSTなのかUTCなのかで結果が9時間分変わります。入力欄のタイムゾーンを確認し、ログ調査では元システムが保存した地域も記録してください。

夏時間がある地域では、同じ現地時刻が2回現れたり存在しなかったりする場合があります。日本には現在夏時間がありませんが、海外時刻を扱うときはIANAタイムゾーン名で確認するのが安全です。

参考資料