iGotTools

Unix timestampの仕組みをわかりやすく解説

Unix timestampは1970年1月1日UTCからの経過秒数です。その意味、システムが使う理由、timestampと日付を相互変換する方法を数秒で理解しましょう。

開発ツール

Unix timestampは、Unix epoch(1970年1月1日のUTC深夜0時)から経過した秒数です。システム時刻の共通語であり、データベース、ログ、API、cronジョブはどれもこれで話します。しかし 1726617600 を日付として読むには、頭の計算ではなくツールが必要です。timestamp変換ツールを開けば、双方向で読み取ってくれます。

TL;DR

Unix timestampは、タイムゾーンに依存しない、ある瞬間を指す単一の整数です。

  • 1970年1月1日UTCからの秒数 — epochです。数字1つで瞬間が1つ。AM/PMや夏時間で論争することはありません。
  • 双方向に変換 — timestampを読みやすい日付に、あるいは日付をtimestampに、ブラウザの中で直接変換できます。
  • アップロードなし — 変換はローカルで実行されるので、timestampの値がデバイスから外に出ることはありません。

Unix timestampとは何か

Unix epoch1970-01-01 00:00:00 UTC です。Unix timestampとは、単にその瞬間から何秒経過したかを数えたものです。値 0 はepochそのもので、1700000000 は2023年11月中旬のある瞬間です。1秒過ぎるごとに、数字は1ずつ大きくなります。

システムがこれに頼るのは、3つの問題を一度に解決するからです。

  • 曖昧さがない。 07/09/26 は米国では7月9日、ヨーロッパの多くでは9月7日を意味します。timestampはどこでもただ1つの意味しか持ちません。
  • タイムゾーンフリー。 世界時計上の1つの瞬間を指します。誰もが、どこにいても、自分のオフセットを適用して時計の時刻を読み取ります。
  • ソート・比較しやすい。 数字が大きいほど後の瞬間なので、ソートは単なる数値順になります。日付のパースは不要です。

この最後の性質こそ、ログ、キャッシュキー、データベースの created_at カラムが、書式付き文字列ではなく整数を保存することが多い理由です。

秒、ミリ秒、そしてそれ以上

古典的なUnix timestampはを数えます。Unixの date +%s コマンドは秒を返します。しかしJavaScript — つまりすべてのブラウザ、Nodeサービス、Date.now() 呼び出し — はミリ秒を数えます。同じ瞬間がそれぞれ違って見えます。

  • 秒: 1700000000
  • ミリ秒: 1700000000000(末尾に3桁多い)

混同すると、1970年や紀元5万年の日付が出てきます。timestamp変換ツールは両方にも、さらにそれ以上にも対応します。単位セレクタは自動ミリ秒マイクロ秒ナノ秒をカバーします。自動モードでは桁数から単位を推測します — 10桁は秒、13桁はミリ秒、16桁はマイクロ秒、19桁はナノ秒 — だからめったに自分で選ぶ必要はありません。明示的に単位を選んだ場合は、その選択が優先されます。

手順:timestampを変換する

  1. 方向を選ぶ。 変換モードで、timestampから日時(数値 → 読みやすい日付)か日時からtimestamp(読みやすい日付 → 数値)を選びます。
  2. 値を入力する。 timestampから日時では数値のtimestampを入力します。日時からtimestampでは、日時フィールドで瞬間を選びます。
  3. 単位を選ぶ。 timestamp単位リストで自動ミリ秒マイクロ秒ナノ秒を選びます。意図的に制御しないなら自動で十分です。
  4. タイムゾーンを選ぶ。 タイムゾーンリストは9つの主要ゾーン(次のセクション参照)を提供し、読みやすい結果が期待する時計の時刻を反映するようにします。
  5. 変換を押す。 変換結果パネルにUnix秒、Unixミリ秒、ISO UTC、RFC 2822、UTC、ローカル、選択したゾーン、相対オフセットが表示されます — すべてコピーを1回クリックすれば全部取得できます。

現在の瞬間が必要ですか?上部の帯が毎秒更新され、現在の秒・ミリ秒・ISO値を示します。現在アクションがその値を入力欄に取り込みます。

タイムゾーンと9つのゾーンリスト

timestamp自体はタイムゾーンを持ちません — それは世界時計上の1つの瞬間です。タイムゾーンが関わるのは、それを時計の日付として描画するときだけです。このツールは9つの固定ゾーンリストを提供します:UTC、ローカル、America/New_York、Europe/London、Europe/Berlin、Asia/Tokyo、Asia/Seoul、Asia/Singapore、Australia/Sydneyです。これらで主要地域を一通りカバーしており、多くの開発者が実際に予定を組む範囲です。

これはフリー入力のIANAゾーンピッカーではありません。あなたの都市がリストにない場合は、ローカル(ブラウザ自身のゾーンを使います)かUTCを選び、そこから自分で変換してください。選択したゾーンは結果の「選択タイムゾーン」行を制御します。UTCとローカルの行は常に表示されるので、常に曖昧さのない参照点があります。

制限と正直な注意点

結果に依存する前に知っておくべき制約がいくつかあります。

  • 9つの固定ゾーン、フリー入力なし。 America/Sao_PauloAsia/Kolkata は入力できません。ローカルかUTCを使い、自分でオフセットを適用してください。
  • 日付範囲に上限がある。 8,640,000,000,000,000 ミリ秒(およそ275760年)を超える値は、ブラウザの安全範囲外であり、「安全でない範囲」エラーを返します。これはJavaScriptの Date の上限で、ツール固有の制限ではありません。
  • 相対オフセットは概算値。 相対の数値は瞬間から導出され、素早い確認用であり、打ち上げの正確なカウントダウンではありません。

よくある質問

Unix timestampは秒ですか、それともミリ秒ですか?

出処によります。古典的なUnix timestampはです(date +%s)。JavaScriptの Date.now()ミリ秒を返します。違いは末尾のゼロ3つです。値を貼り付けて1970年や何千年も先の日付が出たら、単位を取り違えています — timestamp単位セレクタを切り替えるか、自動に桁数で判定させてください。

Unix timestampはどのタイムゾーンですか?

実質的にUTCです。timestampは世界時計上の1つの瞬間を指すので、ローカルのオフセットは組み込まれていません。読みやすい日付として読むとき、適用するタイムゾーンが時計の時刻を生み出します。ツールは常にUTC行を表示して曖昧さのない参照を示し、さらにローカルと選択したゾーンを加えます。

自分のローカルタイムゾーンに変換できますか?

できます、それがリストの9つのゾーンのいずれかであれば。ブラウザの現在のタイムゾーンを使うにはローカルを選ぶか、リストから特定のゾーンを選びます。あなたのゾーンが9つの選択肢にない場合、フリー入力はありません — ローカルUTCを使い、そこからオフセットを適用してください。

epochとは何ですか?

epochは固定の参照点 1970-01-01 00:00:00 UTC です。Unix timestampは、その瞬間からの秒数(あるいはミリ秒、マイクロ秒、ナノ秒)のカウントです。epoch自体がtimestamp 0 で、負のtimestampは1970年より前の日付へ逆算します。

iGotTools

このツールから始める

今すぐ始める