MCPで接続 →

計算を入力してください

公式

広告

結果

UTC Date & Time (ISO 8601)
2023-11-14T22:13:20Z
協定世界時(UTC)
日付(UTC) 2023-11-14
時刻(UTC) 22:13:20
エポック秒 1,700,000,000
2023
11
14
22
13
20

エポックミリ秒のタイムスタンプとは?

Unixエポックタイムスタンプとは、「エポック」と呼ばれる基準時刻 1970-01-01 00:00:00 UTC からの経過時間を表す数値です。多くのプログラミング言語やAPI(JavaScriptの Date.now()、Javaの System.currentTimeMillis()、各種JSONデータなど)では、この値を「秒」ではなく ミリ秒 で扱います。このツールは、その無機質な数値を、人が読みやすいUTCの日時へと変換します。

1970年から始まるUnixエポックとミリ秒が進んでいく様子を示すタイムライン
エポックミリ秒は、Unixエポック(1970-01-01T00:00:00Z)からの経過時間を表します。

このツールの使い方

入力欄にミリ秒単位のタイムスタンプを貼り付けるか入力して、実行してください。ツールはまず値を1000で割って秒数(整数)を求め、エポックを起点としてカレンダー上の日付に対応づけます。結果としてISO 8601形式の文字列(例:2023-11-14T22:13:20Z)に加え、年・月・日・時・分・秒への分解結果が得られます。すべてUTC基準なので、お使いの環境のタイムゾーンに左右されません。

計算式の解説

変換はわずか2ステップです。まず次のように秒未満の端数を切り捨てます。

$$ t_{s} = \left\lfloor \frac{\text{Epoch Time (ms)}}{1000} \right\rfloor $$

次に、1970年1月1日の午前0時にその秒数を加算します。

$$ \text{Date}_{\text{UTC}} = \text{Epoch}_{1970} + \frac{\text{Epoch Time (ms)}}{1000}\ \text{seconds} $$

ここで \(\text{Epoch}_{1970} = \text{1970-01-01T00:00:00Z}\) です。うるう年や月ごとの日数の違いなどは、カレンダーの計算ロジックが自動的に処理します。

ミリ秒の値を1000で割って日付と時刻に変換する図
ミリ秒の値を1000で割ると秒になり、UTCの日付と時刻に対応します。

計算例

例として 1,700,000,000,000 ミリ秒を考えます。1000で割ると1,700,000,000秒。

$$ \frac{1{,}700{,}000{,}000{,}000}{1000} = 1{,}700{,}000{,}000\ \text{seconds} $$

これをエポックに加えると 2023-11-14T22:13:20Z となり、UTCで2023年11月14日 22時13分20秒を表します。

よくある質問

結果はローカル時刻ですか? いいえ。あいまいさを避けるため、出力は常にUTC(協定世界時)です。日本時間が必要な場合は、UTCに9時間(+09:00)を加えてください。同様に、他の地域では各タイムゾーンのオフセットを加減算する必要があります。

手元の値がミリ秒ではなく秒の場合は? 入力前に秒単位のタイムスタンプを1000倍する(つまり末尾に0を3つ付け足す)だけでOKです。

なぜ結果がはるか未来や1970年付近の日付になることがあるの? 秒単位の値をミリ秒として入力すると1970年付近になり、すでにミリ秒の値にさらに0を付け足すとはるか未来の日付になります。単位が必ずミリ秒であることを確認してください。

最終更新: