エポック秒 → 日時:タイムスタンプを変換する
- タイムスタンプ → 日時の欄に数値を貼り付けます。空白、カンマ、アンダースコアは無視されるので
1,767,225,600でもかまいません。負の値や小数も入力できます。 - 単位は自動判別のままにするか、秒・ミリ秒・マイクロ秒・ナノ秒から選びます。判別した単位は入力欄の下に表示されます。
- 結果を、ローカル時間、UTC、ISO 8601、RFC 2822形式、「3日前」のような相対時間で確認します。ISOとRFCの行にはそれぞれコピーボタンがあります。
現在を押すと今の時刻が入り、上部のカウンターは現在のエポック値を秒とミリ秒でリアルタイムに表示します。
日時 → エポック秒:日付からタイムスタンプを求める
- 日時 → タイムスタンプの欄で、日付と時刻を秒まで指定します。
- その時刻がローカル時間(端末のタイムゾーン)かUTCかを選びます。この選択で、答えがUTCとの時差の分だけ変わります。
- 秒またはミリ秒のタイムスタンプ、あるいはISO 8601形式をコピーします。
Unix時間とは
Unix時間(エポック秒、POSIX時間とも呼ばれます)は、1970年1月1日00:00:00 UTC、つまり「エポック」からの経過秒数です。1日は常にちょうど86,400秒として扱われ、うるう秒は無視されます。同じ瞬間なら地球上のどこでも同じ数値になるため、データベース、ログ、API、ファイルシステムは、タイムゾーンの食い違いを気にせず時刻を記録するのにこの値を使います。タイムスタンプにタイムゾーンが関わるのは、カレンダーの日時に変換するときだけです。
秒、ミリ秒、マイクロ秒、ナノ秒?
システムによって数える単位が違い、桁数を見れば見当がつきます。現在の日付なら次のとおりです。
| 単位 | 桁数 | 2026年1月1日 00:00 UTC の値 | 主な出どころ |
|---|---|---|---|
| 秒 | 10 | 1767225600 | Unixシェル、PHP、Pythonの int(time.time())、JWTのクレーム |
| ミリ秒 | 13 | 1767225600000 | JavaScriptの Date.now()、Java、多くのJSON API |
| マイクロ秒 | 16 | 1767225600000000 | 一部のデータベースやトレーシングツール |
| ナノ秒 | 19 | 1767225600000000000 | Goの UnixNano()、InfluxDB、高精度のログ |
自動判別は、10¹¹未満を秒、10¹⁴未満をミリ秒、10¹⁷未満をマイクロ秒、それ以上をナノ秒として読みます。1973年から5138年までの日付ならすべて正しく判別できます。例外は、1966年末から1973年3月初めまでの日付のミリ秒値です。数値が小さく秒のように見えるため、1970年にそこまで近い日付は単位を手動で選んでください。日時はミリ秒まで表示され、それより細かい桁は入力できますが表示されません。
変換例
| タイムスタンプ | UTCの日時 | 備考 |
|---|---|---|
0 | 1970年1月1日 00:00:00 | エポックそのもの |
1000000000 | 2001年9月9日 01:46:40 | 初めて10桁になったタイムスタンプ |
1767225600 | 2026年1月1日 00:00:00 | このツールの入力例の値 |
-86400 | 1969年12月31日 00:00:00 | 負の値は1970年より前 |
2147483647 | 2038年1月19日 03:14:07 | 符号付き32ビット整数の最大値 |
逆方向の例:2026年7月1日12:00をUTCとして入力すると 1782907200 です。東京(UTC+9)に設定されたパソコンで同じ時刻をローカル時間として入力すると 1782874800 となり、ちょうど32,400秒(9時間)早くなります。
タイムゾーンと夏時間
1つのタイムスタンプは1つの瞬間ですが、世界の場所によって読み方が変わります。1767225600 は東京では2026年1月1日午前9時、ニューヨークでは2025年12月31日午後7時です。変換した日時が何時間かずれて見えるなら、タイムスタンプはたいてい正しく、表示しているタイムゾーンが違うだけです。夏時間(サマータイム)はお使いのタイムゾーンに合わせて自動的に反映されます。同じ瞬間を複数の都市で並べて見るにはタイムゾーン変換を使ってください。
コードや表計算ソフトでの変換
- JavaScript:現在値は
Math.floor(Date.now() / 1000)、変換はnew Date(1767225600 * 1000).toISOString()。 - Python:
int(time.time())、datetime.fromtimestamp(1767225600, tz=timezone.utc)。 - PHP:
time()、date('c', 1767225600)。 - シェル:
date +%s。変換はLinuxならdate -d @1767225600、macOSならdate -r 1767225600。 - SQL:PostgreSQLは
to_timestamp(1767225600)、MySQLはFROM_UNIXTIME(1767225600)。 - ExcelやGoogleスプレッドシート:
=A1/86400+DATE(1970,1,1)と入力し、セルの書式を日付と時刻にします。結果はUTCなので、日本時間にするには+9/24を足します。
よくある質問
2038年問題とは何ですか?
Unix時間を符号付き32ビット整数で保存するソフトウェアは2,147,483,647までしか数えられず、この値には2038年1月19日03:14:07 UTCに達します。その1秒後には値が−2,147,483,648に戻り、1901年12月13日と解釈されます。現在のOSやプログラミング言語は64ビットの時間を使いますが、古い組み込み機器、ファイル形式、32ビット整数で定義されたデータベースの列は、今でも影響を受ける可能性があります。
タイムスタンプが13桁なのはなぜですか?
ミリ秒単位だからです。1,000で割れば秒になりますし、そのままここに貼り付けても自動判別が処理します。
Unixタイムスタンプにうるう秒は含まれますか?
含まれません。Unix時間はどの日も86,400秒だとみなすため、うるう秒は数えられず、OSは代わりに1秒を繰り返したり少しずつ分散させたりして吸収します。日常的な変換では目に見える違いはありません。
どの範囲の日時まで変換できますか?
ブラウザの日付機能が扱える範囲、おおよそ紀元前271,821年から西暦275,760年までです。それを超えると範囲外のメッセージが表示されます。