UNIX時間(エポック秒)とは
UNIX時間は、1970年1月1日 0時0分0秒(UTC)からの経過秒数で日時を表す方法です。タイムゾーンに左右されない1つの数値で時刻を表せるため、データベース、ログ、API、JWT の exp / iat など、プログラムの世界で広く使われています。
| UNIX時間 | 日本時間 |
|---|---|
0 | 1970-01-01 09:00:00 |
1000000000 | 2001-09-09 10:46:40 |
1700000000 | 2023-11-15 07:13:20 |
2000000000 | 2033-05-18 12:33:20 |
2147483647 | 2038-01-19 12:14:07(2038年問題) |
秒とミリ秒の見分け方
現在の UNIX 時間は、秒なら10桁、ミリ秒なら13桁です。JavaScript の Date.now() や Java の System.currentTimeMillis() はミリ秒、PHP の time() や Python の int(time.time())、Linux の date +%s は秒を返します。このツールは桁数から秒・ミリ秒・マイクロ秒・ナノ秒を自動判定します。
各言語で現在のUNIX時間を取得する
| 言語・環境 | コード |
|---|---|
| JavaScript | Math.floor(Date.now() / 1000) |
| Python | int(time.time()) |
| PHP | time() |
| Java | Instant.now().getEpochSecond() |
| Go | time.Now().Unix() |
| Linux / macOS | date +%s |
| MySQL | UNIX_TIMESTAMP() |
よくある質問
変換結果が9時間ずれます
UNIX時間は UTC 基準です。日本時間は UTC より9時間進んでいるため、UTC として表示すると9時間前の時刻になります。タイムゾーンの選択を確認してください。
2038年問題とは?
UNIX時間を符号付き32ビット整数で保存していると、2038年1月19日 12:14:07(日本時間)の 2147483647 を超えた時点で値があふれ、1901年に戻ってしまう問題です。64ビット整数で扱えば回避できます。
日時を入力するとき、タイムゾーンはどう扱われますか?
2026-10-04 12:00:00 のようにタイムゾーンを書かなかった場合は、選択中のタイムゾーンの時刻として扱います。2026-10-04T12:00:00Z や +09:00 のように指定がある場合はそれに従います。
うるう秒は考慮されますか?
UNIX時間はうるう秒を数えない仕様のため、このツールでもうるう秒は考慮しません。一般的なプログラムと同じ結果になります。