Unix Timestamp Converter

現在のUnixタイムスタンプ
0

タイムスタンプ → 日時

10桁(秒)・13桁(ミリ秒)に自動対応

日時 → タイムスタンプ

Unix Timestampとは

Unixタイムスタンプ(Epoch time)とは、1970年1月1日00:00:00 UTC からの経過秒数です。プログラミングや各種APIで日時を表現する際に広く使われています。10桁が秒単位、13桁がミリ秒単位で一般的です。

主な用途

  • APIレスポンスのタイムスタンプを人間が読める日時に変換
  • ログファイルの時刻を確認・変換
  • JWTのexp(有効期限)フィールドの確認
  • データベースのtimestampカラムの値を確認

よくある質問

10桁と13桁のタイムスタンプの違いは?

10桁は秒単位(Unix Timestamp、Epoch Time)で、Linux/Unix・PHP・Pythonの time() などで使われます。13桁はミリ秒単位で、JavaScriptの Date.now() や Java の System.currentTimeMillis() で使われます。1秒 = 1000ミリ秒のため、相互変換は ×1000 または ÷1000 で行います。例: 1729900800(秒)= 1729900800000(ミリ秒)。

負のタイムスタンプは何を表しますか?

負のタイムスタンプは1970年1月1日 00:00:00 UTC(Unixエポック)以前の日時を表します。例: -1 は 1969年12月31日 23:59:59 UTC、-86400 は 1969年12月31日 00:00:00 UTC です。歴史的な日付(誕生日や事件日付)の処理で稀に必要になります。

タイムゾーン設定を変更できますか?

本ツールはお使いのブラウザのタイムゾーン設定(OSの設定に依存)に基づいて自動的に日時を表示します。同じUnixタイムスタンプでも、東京(JST = UTC+9)とニューヨーク(EST = UTC-5)では14時間ずれた日時で表示されます。常にUTC基準で確認したい場合は、ブラウザのタイムゾーンを変更するか、結果に「+9時間引く」など手動補正してください。

2038年問題とは何ですか?

32ビット符号付き整数で表現できるUnix時刻の上限は 2^31-1 = 2147483647(2038年1月19日 03:14:07 UTC)です。これを超えると古い32ビットシステムでオーバーフローし、1901年12月13日にロールオーバーします。現代のLinuxやmacOS・主要DBは64ビットtime_tに移行済みですが、組み込みシステムや古いCソフトウェアでは依然として注意が必要です。

夏時間(DST)の影響を受けますか?

Unixタイムスタンプ自体は常にUTC基準で連続的に増加するため、夏時間切替の影響を受けません。これがUnix時刻が「絶対時刻」として優れている理由です。日付・時刻文字列での表示時のみ、ローカルタイムゾーン設定に応じてDST補正された値が表示されます。

タイムスタンプとISO 8601の違いは?

Unixタイムスタンプは「1970/01/01からの経過秒数」を表す数値(例: 1729900800)。ISO 8601は人間にも読みやすい文字列形式(例: 2024-10-26T00:00:00Z)です。データベース保存・APIではUnixタイムスタンプの方が軽量で扱いやすく、ログや表示ではISO 8601が読みやすいため、用途に応じて使い分けます。

何を「秒」とするか(うるう秒は?)

Unix時刻はUTC秒に基づき、原則として「うるう秒」を含みません。実装上はうるう秒の扱いはOS・NTP同期方式により異なり(時計を一度に進める「ステップ」、徐々に進める「スルー」)、極めて精密な時刻管理が必要な金融取引・天文計算では別途考慮が必要です。一般用途では気にする必要はありません。

Unixタイムスタンプの活用例は?

(1) データベースの作成日時(created_at)保存、(2) JWT のexp(有効期限)クレーム、(3) ファイル名にバージョン情報埋め込み(example_1729900800.log)、(4) APIでの時刻パラメータ、(5) Cookie の有効期限、(6) キャッシュのバージョン管理、(7) 統計ログの時系列分析、などで広く使われます。