UNIXタイムスタンプ変換とは?
UNIXタイムスタンプ(Unix時間、エポック秒)は、1970年1月1日0時0分0秒(UTC)からの経過時間を秒単位の数値で表したものです。タイムゾーンに関係なく世界中で同じ値になるため、データベース、ログ、APIで時刻を保存する事実上の標準として使われています。
JavaScript の Date.now() や Java の System.currentTimeMillis() はミリ秒(13桁)、Linux の date +%s、PHP の time()、Python の int(time.time()) は秒(10桁)を返します。このツールは桁数を見て単位を自動で判定します。
使い方
- 一番上で現在のタイムスタンプを確認し、コピーできます。
- タイムスタンプ → 日時に数値を貼り付けると、ローカル時刻・UTC・ISO 8601 形式と、今から何分前・何分後かがすぐに表示されます。
- 単位の判定が違う場合は、秒 / ミリ秒 / マイクロ秒を手動で選んでください。
- 日時 → タイムスタンプで日付・時刻とタイムゾーンを選ぶか、日時の文字列(例:2026年10月1日 9時30分)を貼り付けると、秒とミリ秒の値が表示されます。
桁数で単位を見分ける
| 単位 | 桁数(現在) | 例 |
|---|---|---|
| 秒 | 10桁 | 1790812800 |
| ミリ秒 | 13桁 | 1790812800000 |
| マイクロ秒 | 16桁 | 1790812800000000 |
| ナノ秒 | 19桁 | 1790812800000000000 |
上の例はすべて2026年10月1日 午前9時(JST)、つまり 00:00 UTC です。日本標準時は UTC より9時間進んでおり、夏時間がないため常に +09:00 です。
2038年問題
タイムスタンプを符号付き32ビット整数で保存している古いシステムでは、値が 2,147,483,647 を超える2038年1月19日 12時14分7秒(JST)に桁あふれが起き、1901年に戻ってしまいます。64ビット整数やミリ秒単位を使う新しいシステムではこの問題は起きません。
よくある質問
タイムスタンプにタイムゾーンはありますか?
ありません。タイムスタンプは UTC 基準の絶対的な時刻なので、同じ瞬間なら日本でもアメリカでも同じ値です。日時として表示するときだけタイムゾーンが適用されます。
マイナスのタイムスタンプも使えますか?
はい。1970年より前の日時はマイナスで表されます。たとえば -86400 は1969年12月31日0時(UTC)です。
どんな日時の書式に対応していますか?
2026-10-01 09:00:00、2026/10/01 09:00、2026年10月1日 9時30分、ISO 8601(2026-10-01T09:00:00+09:00、Z 付き)などに対応しています。タイムゾーンの指定がない場合は、選択したタイムゾーンで計算します。
うるう秒は反映されますか?
Unix時間は定義上うるう秒を数えないため、1日は常に86,400秒として計算されます。ほとんどのOSやプログラミング言語も同じ方式です。