UNIX時間・日時変換
UNIX 時間(秒・ミリ秒)を日時に、日時を UNIX 時間に変換します。UTC と、選んだ時差の日時を並べて表示します。
UNIX 時間とは
UNIX 時間(エポック秒)は、1970 年 1 月 1 日 00:00:00 UTC(エポック)からの経過秒数です。プログラム・データベース・ログなどで、時刻を 1 つの整数で表すために使われます。
- 1 日は 86,400 秒として数え、閏秒は数えません(POSIX の定義:「each and every day shall be accounted for by exactly 86400 seconds」)。
- ミリ秒の UNIX 時間(JavaScript の
Date.now()など)は、秒の値の 1,000 倍です。秒は 10 桁前後、ミリ秒は 13 桁前後の数になります。単位を取り違えると、日時が大きくずれるので、このツールは、桁数から、取り違えの可能性を注意として表示します。
UTC と、選んだ時差
UNIX 時間は、時差に関係なく、世界で同じ 1 つの値です。日時に直すときに、どの時差で表すかを選びます。
- UTC:協定世界時(時差 +00:00)。UTC の日時は、いつも表示します。
- 選んだ時差:初期値は、日本標準時(JST = UTC +09:00)です。UTC からの固定の時差を選びます。
- このツールは、夏時間や、地域ごとの時差の変更を、扱いません(ブラウザの地域設定も使いません)。夏時間のある地域の日時は、その時点の時差(たとえば +01:00 や +02:00)を、自分で選んでください。
1970 年より前(負の UNIX 時間)
1970 年より前の日時は、負の UNIX 時間で表します(−1 = 1969-12-31 23:59:59 UTC)。このツールは、初期版から、負の値に対応しています。
- 負のタイムスタンプで、1970 年より前を表す方式は、多くの実装・言語に普及しています。
- ただし、POSIX の式は、1970 年以降の非負の値について書かれていて、負の値の扱いは、実装・システムで違うことがあります。このツールは、POSIX と同じ式(1 日 = 86,400 秒)を、過去にも延長して計算します。ほかのシステムが、同じ値を同じ日時として扱うかは、そのシステムで確かめてください。
- 換算できる範囲は、**UTC の 1900-01-01 00:00:00(−2,208,988,800 秒)から 2100-12-31 23:59:59(4,133,980,799 秒)**までです。
2038 年問題
32 ビットの符号つき整数で UNIX 時間を持つシステムは、**2,147,483,647 秒(2038-01-19 03:14:07 UTC)**を超えると、値があふれます。このツールは、結果が 32 ビット符号つき整数(−2,147,483,648 〜 2,147,483,647)に収まるかも、表示します。
計算例
- 0 = 1970-01-01 00:00:00 UTC(木曜)
- 1,000,000,000 = 2001-09-09 01:46:40 UTC
- 1,700,000,000 = 2023-11-14 22:13:20 UTC(JST では 2023-11-15 07:13:20)
- 2,147,483,647 = 2038-01-19 03:14:07 UTC
- −1 = 1969-12-31 23:59:59 UTC
注意点
- 入力できる UNIX 時間は、整数です(秒:−2,208,988,800 〜 4,133,980,799、ミリ秒:その 1,000 倍)。範囲の外は、エラーにします。
- 日時 → UNIX 時間の秒は、0〜59 です(閏秒の「60 秒」は、扱いません)。
- 「現在の時刻を入れる」ボタンは、お使いの機器の時計を、UNIX 時間(秒)として入力します。計算は、時計を使いません。
- 日付の計算(日数・期間・加算)は、日付の加算・減算を、和暦との変換は、和暦・西暦変換を使ってください。
出典
- The Open Group「POSIX.1-2017 基本定義 4.16 Seconds Since the Epoch」(1 日を 86,400 秒とする、閏秒を数えない。確認日:2026 年 10 月 26 日)
よくある質問
UNIX 時間が 13 桁のときは、どうすればよいですか?
ミリ秒の値です。入力の単位を「ミリ秒」にしてください。10 桁前後なら、秒です。
UNIX 時間は、タイムゾーンで値が変わりますか?
変わりません。UNIX 時間は、世界で同じ 1 つの時点を表す値です。日時として表すときに、どの時差の時刻にするかを選びます。
閏秒は、どうなりますか?
UNIX 時間は、閏秒を数えません(1 日が、いつも 86,400 秒)。そのため、UNIX 時間と UTC の日時は、閏秒の前後で、1 秒の扱いが特別になります。このツールは、閏秒を扱わない、標準の UNIX 時間の定義で、計算します。