コンバーター

Unix タイムスタンプ コンバーター

Unix タイムスタンプと読みやすい日付の間で変換します。ライブのエポック時計が毎秒更新されます。10 桁(秒)または 13 桁(ミリ秒)の任意のタイムスタンプを貼り付け、任意のタイムゾーンに変換します。

現在の Unix タイムスタンプ · ライブ
1783399212
 

Unixタイムスタンプとは?

Unixタイムスタンプとは、1970年1月1日 00:00:00 UTC からの経過秒数です。エポック時間またはPOSIX時間とも呼ばれます。Unix時間の変換にうるう秒は含まれません。値は単一の整数で、ひとつの瞬間を指します。この整数はタイムゾーンやロケールに依存しません。ほぼすべての言語・データベース・OSがエポックタイムスタンプに対応しており、システム間で時刻を保存・送信するための普遍的な標準となっています。

秒とミリ秒:フォーマットの自動判定

ほとんどのUnixタイムスタンプは秒単位で、現在はおよそ17億の10桁の数値です。JavaScriptのDate.now()や多くのブラウザ・Web APIは代わりにミリ秒を返し、13桁の数値になります。このコンバーターは入力値の大きさから単位を自動的に判定します。

  • 10桁の数値(例:1700000000)→ Unixエポックからの秒数
  • 13桁の数値(例:1700000000000)→ Unixエポックからのミリ秒
  • 秒をミリ秒に変換するには:1000を掛ける
  • ミリ秒を秒に変換するには:1000で割る(整数にするにはMath.floorを使う)

なぜエポック時間は1970年1月1日から始まるのか?

この日付は、1970年代初頭にUnixの開発者たちが、現代のコンピューティングより前にあたる便利な基準点として選びました。実用的なタイムスタンプはほぼすべて正の整数になるため、算術や比較が単純になります。選択はやや恣意的でしたが、普遍的なものとなり、現代のあらゆるOS・プログラミング言語・プロトコルが同じ基準点を使っています。

Unix時間の変換:エポックを人間が読める日付に変換する方法

上の「エポック → 日付」タブを使います。任意のUnixタイムスタンプを貼り付け、タイムゾーンを選んで「変換」をクリックします。ツールは結果をISO 8601(タイムゾーンオフセット付き)、UTC文字列、読みやすい長い形式、相対時間表示で表示します。「日付 → エポック」タブを使えば逆方向にも変換できます。

  • ISO 8601 — 標準的な機械可読フォーマット:2023-11-15T06:13:20+00:00
  • UTC文字列 — 曜日付きで読みやすい:Wed, 15 Nov 2023 06:13:20 GMT
  • フレンドリー — ロケール風:Wednesday, November 15, 2023 at 6:13:20 AM UTC
  • 相対 — 文脈に応じた表示:1年前

サブ秒精度、モノトニック時間、最新のAPI

最新のコードは秒やミリ秒だけでなく、マイクロ秒やナノ秒も扱います。コードは壁掛け時計の時間とモノトニック時間を区別します。新しいJavaScriptのTemporal APIはナノ秒精度の瞬間を直接公開します。その下には依然としてPOSIX time_tがあります。符号付き32ビットのtime_tでは、Y2038のオーバーフロー限界が今も当てはまります。

  • 秒(10桁)— 標準的なPOSIX time_t形式
  • ミリ秒(13桁)— JavaScript Date と大半のWeb API
  • マイクロ秒(16桁)— 高解像度ロギング、Chrome/WebKitのタイムスタンプ、Postgresのタイムスタンプ精度6
  • ナノ秒(19桁)— Temporal.Instant.epochNanoseconds (BigInt)、Java Instant、Go time.UnixNano()
  • 壁掛け時計の時間 vs モノトニック時間:瞬間の保存には Date.now() / time() を、期間の計測には performance.now() / clock_gettime(CLOCK_MONOTONIC) を使う
  • タイムゾーンの略称(EST、PST、JST、IST、CST)は曖昧です。コードでは常に America/New_York や Asia/Tokyo のようなIANA名を使いましょう
  • 32ビットシステムのPOSIX time_t は2038-01-19にオーバーフローします。64ビットのtime_tが現代の標準です

現在のUnixタイムスタンプ(ライブ)

このページ上部の時計は1秒ごとに更新され、現在のエポックを秒で、現在の時刻をミリ秒で、そして日付を表示します。同じ瞬間が5通りで表示されます:10桁のエポック秒、13桁のミリ秒、ISO 8601、UTC文字列、読みやすいローカル形式。同じコンバーターは日時計算機としても機能し、タイムゾーン間やエポックと人間の日付の間で時刻と日付を切り替えるツールとして使えます。

  • 秒と日付付きのライブ時計 / 現在のエポック時間 / 現在のUnix時間 — ページ上部にライブ表示
  • 現在の時刻(ミリ秒)— JavaScriptのDate.now()と同じ瞬間
  • 現在のタイムスタンプ / 現在のUnixタイムスタンプ — 標準的な10桁のUnix秒値
  • 今週 — 今週の開始をエポックで求めるには、リファレンスページの年/月/週のタイムスタンプを使う
  • 日時計算機 —「日付 + N日 = エポック?」には、計算した壁掛け時計の値で「日付 → エポック」タブを使う
  • 時刻・日付の切替 — コンバーターで新しいタイムゾーンを選ぶと、同じ瞬間の表示が変わる
  • Unixからunixへ(システム間):整数は同じで、表示がタイムゾーンごとに変わる
  • タイムスタンプ Unix Time — 同じ数値が3つの名前で:タイムスタンプ、Unix時間、エポック時間

エポックUnixタイムスタンプ変換 — クイックリファレンス値

デバッグやテスト作成の際によく登場する、きりのよいエポック値です。各値は対応するISO 8601日時とペアになっているので、ひと目で妥当性を確認できます。すべての瞬間はUTCです。

  • 0 → 1970-01-01T00:00:00Z(エポックの起点)
  • 86400 → 1970-01-02T00:00:00Z(エポックの1日後)
  • 1000000000 → 2001-09-09T01:46:40Z(10桁の節目)
  • 1500000000 → 2017-07-14T02:40:00Z(2017年中頃の基準)
  • 1700000000 → 2023-11-14T22:13:20Z(最近の基準)
  • 2000000000 → 2033-05-18T03:33:20Z(将来の基準)
  • 2147483647 → 2038-01-19T03:14:07Z(符号付き32ビット整数の最大値 — Y2038の境界)
  • 253402300799 → 9999-12-31T23:59:59Z(PostgreSQLの9999年境界)

Unixタイムスタンプ・日付・UTC を相互に変換

このコンバーターはあらゆる方向を一か所で扱います。任意の壁掛け時計の値を貼り付けて日付をUnixタイムスタンプに変換したり、エポック整数を貼り付けてログ解析用に対応するUTC日時を得たりできます。13桁の値は自動的にミリ秒と判定され、秒に変換されます。POSIX時間はUnix時間の別名にすぎず、操作はどちらも同じです。秒、ミリ秒、マイクロ秒、ISO 8601文字列に対応します。

  • 時刻をUnixタイムスタンプに変換 — 任意の壁掛け時計の日付を貼り付け、秒とミリ秒を取得
  • エポックからUTC — エポック整数を貼り付け、対応するUTC日時を確認
  • ミリ秒からタイムスタンプ — 13桁の値は自動的にミリ秒と判定され、秒に変換される
  • POSIX時間コンバーター — POSIX時間はUnix時間の別名にすぎない。同じツール、同じ操作
  • あらゆる方向のUnix時間変換 — 日付 ↔ エポック、秒 ↔ ミリ秒、ローカル ↔ UTC

コンピューターシステム、ローカル時間、そして2038年1月19日の限界

Unix時間は、サーバーやデータベースから組み込み機器やOSまで、世界中のコンピューターシステムが使う計時の標準です。これらのシステムは内部で時刻をUnix整数として保存し、閲覧者向けにローカル時間として表示します。この慣例には有名な限界があります。2038年1月19日 03:14:07 UTC に、符号付き32ビットのUnixタイムスタンプがオーバーフローします。現代の64ビットシステムは影響を受けません。レガシーな32ビットの環境はその日付までに対応が必要です。

  • 時刻をUnix整数として数えるコンピューターシステム:Linux、macOS、Windows、BSD、iOS、Android、および主要なすべてのデータベースエンジン
  • ローカル時間 vs UTC:タイムスタンプ自体はUTC。ローカル時間は可能な多くの表示のひとつにすぎない
  • 2038年1月19日 03:14:07 UTC — 符号付き32ビットのUnixタイムスタンプが2,147,483,647に達してオーバーフローするとき
  • 64ビットのコンピューターシステムは安全な範囲を約2920億年まで拡張する — 実用上の懸念をはるかに超える
  • ローカル時間はタイムゾーンオフセットとサマータイム規則に依存する — 保存時ではなく表示時にのみ適用する

このコンバーターの計算方法

このページのすべての変換は、Unix時間の標準的なPOSIX定義(1970-01-01 00:00:00 UTC からの秒数、うるう秒なし)を用いて、完全にあなたのブラウザー内で実行されます。入力したタイムスタンプがサーバーに送信されることはなく、計算はローカルのJavaScriptで行われます。時刻はUTCで計算され、表示時にのみ選択したタイムゾーンへ変換されます。