UNIX時間⇔日時変換(日本時間)
UNIX時間を入れると日本時間に、日時を入れるとUNIX時間に変換します。秒(10桁)とミリ秒(13桁)は自動で見分けます。
UNIX時間 → 日時
日時 → UNIX時間
タイムゾーンが無ければ日本時間。末尾に Z や +00:00 も可
入力したデータは送信も保存もしません。悪用することも一切ありません。くわしく
UNIX時間(エポック秒)とは
UNIX時間は、1970年1月1日 0時0分0秒(UTC)からの経過秒数で日時を表す方法です。 タイムゾーンに左右されない1つの数値で時刻を扱えるため、データベース、ログ、APIのレスポンス、JWT の有効期限(exp)などで広く使われています。 ただし数字のままでは人が読めないので、障害調査やデータ確認のときに日時への変換が必要になります。
よく見るUNIX時間(早見表)
| UNIX時間(秒) | 日本時間 |
|---|---|
0 | 1970/01/01 09:00:00 |
1000000000(10億秒) | 2001/09/09 10:46:40 |
1700000000 | 2023/11/15 07:13:20 |
2000000000(20億秒) | 2033/05/18 12:33:20 |
2147483647(32bitの上限) | 2038/01/19 12:14:07 |
日本時間は UTC より9時間進んでいるので、UNIX時間 0 は日本時間では1970年1月1日の午前9時です。 ログの時刻が9時間ずれている場合は、UTC と JST の取り違えを疑ってください。
各言語での取得・変換方法
| 言語・環境 | 現在のUNIX時間 |
|---|---|
| JavaScript | Math.floor(Date.now() / 1000) |
| Python | int(time.time()) |
| PHP | time() |
| Java | Instant.now().getEpochSecond() |
| Linux / Mac | date +%s |
| PowerShell | [DateTimeOffset]::Now.ToUnixTimeSeconds() |
| MySQL | UNIX_TIMESTAMP() / 逆変換 FROM_UNIXTIME(n) |
| Excel | =(A1/86400)+DATE(1970,1,1)+9/24(日本時間の日時に変換) |
時刻順に並ぶID(UUID v7)からは生成時刻を取り出せます。UUID生成ツールもあわせてどうぞ。
よくある質問
秒とミリ秒の見分け方は?
現在のUNIX時間は、秒なら10桁(17億台)、ミリ秒なら13桁です。このツールは桁数で自動判定します。JavaScript の Date.now() や Java の System.currentTimeMillis() はミリ秒、Unix の date +%s や PHP の time() は秒です。
タイムゾーンを指定せずに日時を入れるとどうなりますか?
日本時間(JST, UTC+9)として扱います。「Z」や「+00:00」を末尾に付けると、その時差で解釈します。
2038年問題とは?
UNIX時間を32ビットの符号付き整数で保存しているシステムでは、2038年1月19日 12:14:07(日本時間)を過ぎると値があふれて誤動作します。64ビットで扱えば問題ありません。
変換・計算の結果は正確さに努めていますが、すべての入力での動作を保証するものではありません。 業務で使う場合は、重要なデータは結果を確認してからご利用ください。詳しくは免責事項をご覧ください。