Epoch を日付に変換 — Unix タイムスタンプを可読な日付に変換
Unix タイムスタンプをローカルタイムゾーンまたは UTC の可読な日付に変換します。秒、ミリ秒、ナ秒まで対応、ブラウザだけで完結します。
Epoch to Date
Convert Unix epoch timestamps to human-readable dates. Works entirely in your browser — no uploads.
Epoch to Date は Date-to-Epoch の逆方向であり、その変換も同様に機械的です — タイムスタンプを精度で割り(ミリ秒なら 1000、マイクロ秒なら 1_000_000、ナ秒なら 1_000_000_000)、Unix 紀元(1970 年 1 月 1 日 00:00:00 UTC)を足せば日付が得られます。実質 new Date(timestamp * 1000) で済む処理にもかかわらずツールが存在する理由は、精度の問題にあります。タイムスタンプ 1749936000 は、出力元が何を吐くかによって、秒(2026-06-16)にもミリ秒(1970-01-21)にもなり得ます。精度を誤ると日付が 55 年ずれたり 18 か月ずれたりしますが、そのバグは「静か」です — 出力は見た目上は正しい日付に見えるため、見分けがつきません。
Epoch to Date で「自明ではない」のは自動判別の処理です。本ツールでは数値の桁数から精度を推測しています — 10 桁は秒、13 桁はミリ秒、16 桁はマイクロ秒、19 桁はナ秒です。この判別はヒューリスティックです — 仮に 2286 年において 10 桁の数値が出てくれば、それは秒ではなくミリ秒であり、本ツールは誤判定します。精度の境界付近や遠い未来など、曖昧な入力に対しては、検出した単位を表示して手動で上書きできるようになっています。出力はデフォルトでブラウザのローカルタイムゾーン、UTC トグルで同じ瞬間の UTC を表示します。
最後に使い分けのヒントです。タイムスタンプの出所が Unix の C API、Bash の date +%s、Python の time.time() であれば精度は秒です。JavaScript の Date.now()、Java の System.currentTimeMillis()、ミリ秒精度のログファイルであれば精度はミリ秒です。Go の time.Now().UnixNano() や高分解能のテレメトリソースであれば精度はナ秒です。本ツールの自動判別は一般的なケースをカバーしますが、曖昧な入力については出力パネルにある精度トグルで各単位を試し、妥当な日付になるものを選んでください。
使い方
タイムスタンプを入力する
Unix タイムスタンプを入力欄にタイプまたは貼り付けします。ツールは数値の桁数から精度(秒、ミリ秒、マイクロ秒、ナ秒)を自動判別し、検出した単位を出力に表示します。
表示タイムゾーンを選ぶ
デフォルトはブラウザのローカルタイムゾーンです。UTC に切り替えれば、同じ瞬間を協定世界時で表示します。出力にはタイムゾーン略称を括弧で添えた両方のフォーマットが並びます。
フォーマット済み日付をコピーする
ISO 8601 文字列(API や設定ファイル向け)、ロケール整形済み文字列(人間が目で見る用)、元の精度の Unix タイムスタンプ(往復変換用)のいずれかでコピーできます。
よくある質問
ツールはタイムスタンプの精度をどう判別しますか?
桁数で判別します。1970 年から 2038 年までは秒(10 桁)、1970 年から約 274,000 年まではミリ秒(13 桁)です。マイクロ秒は 16 桁、ナ秒は 19 桁。ツールは日付として妥当な範囲に収まる最大の単位を選びます。
日付はどのタイムゾーンで表示されますか?
デフォルトはブラウザのローカルタイムゾーンです。「UTC」トグルで、同じ瞬間を協定世界時で表示します。出力には各フォーマットにタイムゾーン略称(PST、EST、JST など)が付くので、変換結果をすぐ確認できます。
日付が想定より 1 日ずれるのはなぜですか?
よくある原因は 2 つあります。タイムスタンプが秒単位なのにツールがミリ秒と判別した(またはその逆)、あるいはタイムゾーンが想定と違っている、というケースです。検出した単位とタイムゾーンのトグルを確認してから再実行してください。
負のタイムスタンプも変換できますか?
はい — 負の Unix タイムスタンプは 1970 年以前(Unix 紀元以前)の日付を表します。本ツールが扱える負値の範囲は、おおよそ紀元前 271,821 年から西暦 275,760 年まで(約 27 万年前〜27 万年後)です。この範囲外の日付は JavaScript の `Date` オブジェクトが対応しません。
ツールが扱える最大のタイムスタンプは?
JavaScript の `Date` オブジェクトは 1970 年から ±275,760 年まで対応します。epoch 秒に換算すると約 8.7 × 10^12、ナ秒精度では約 8.7 × 10^21 です。ツールはこの上限に従うため、範囲外の日付は Invalid Date と表示されます。
制限事項
- JavaScript Date の範囲制限ツールは内部で JavaScript の `Date` オブジェクトを使用しており、扱える日付はおおよそ紀元前 271,821 年から西暦 275,760 年までです。この範囲外のタイムスタンプは `Invalid Date` を返します。史前や極度に未来の日付については、日付範囲が広い Python や Java のツールを使ってください。
- 夏時間の切り替わりは混乱しがちJavaScript の `Date` オブジェクトはローカルタイムゾーンにおける夏時間の切り替わりを正しく処理しますが、切り替え当日の UTC とローカル時間の相互変換は曖昧になり得ます。出力には両方のフォーマットを併記するので、結果を照合できます。
- 太陰暦や恒星時は非対応本ツールは太陽時(グレゴリオ暦)で動作します。太陰暦、天文学で使われる恒星時、TAI(国際原子時 — UTC とは閏秒ぶん異なる)との相互変換には対応しません。天文学的な計算には専用のライブラリをご利用ください。
プラットフォーム別の注意点
- macOS
- macOS Terminal での同等コマンド: `date -r 1749936000`(新しい BSD coreutils では `date -r @1749936000`)。ちょっとした変換でターミナルを開くほどでもない時は、ブラウザツールが手早くて便利です。
- Windows
- PowerShell での .NET 版: `[DateTimeOffset]::FromUnixTimeSeconds(1749936000).ToString('o')`。クロスプラットフォームで同じ結果を得たい時はブラウザツールが適しています — 同じ入力からどの環境でも同じ出力が得られます。
- Linux
- GNU coreutils での同等コマンド: `date -d @1749936000`。チャットやメール、ログファイルから貼り付けた内容を打ち直すのが現実的でない時、ブラウザツールが便利です。
- CLI
- 同じ変換ロジックはあらゆる言語の標準ライブラリに用意されています: Python の `datetime.fromtimestamp()`、Ruby の `Time.at`、Go の `time.Unix()` など。ちょっとした変換のためにスクリプトを書くほどでない場合は、ブラウザツールが手軽です。
- Web
- 完全にクライアントサイドで動作します。ページのロード後はオフラインでも使えます。変換には JavaScript の `Date` オブジェクトを用いるため、夏時間の境界付近には既知のクセがあります — 重要な変換では基準時計と照合してください。