学ぶ · ガイド
Unix タイムスタンプの読み方
秒かミリ秒か、タイムゾーン、そして epoch 値をひと目で読み取る心算。
タイムスタンプとは結局何のことか
Unix 時刻とは 1970-01-01 00:00:00 UTC からの経過秒数のことで、「エポック」と呼ばれます。これはタイムゾーンとは無関係です。同じ瞬間なら、地球上のどこでも同じタイムスタンプになります。タイムゾーンが効くのは表示する時だけです。
秒かミリ秒か
もっともよくある混同は単位です。
- 10 桁(たとえば
1725931234)—— 秒。古典的な Unix タイムスタンプです。 - 13 桁(たとえば
1725931234000)—— ミリ秒。JavaScript のDate.now()や多くの API がこれを返します。
経験則として、数字が 17 億前後なら秒、1.7 兆前後ならミリ秒です。1000 を掛けたり割ったりすれば換算できます。
頭で計算する
大まかな見積もりだけでいいなら、現在の epoch の先頭 2 桁と、1 年がおよそ 3150 万秒 であることを覚えておくだけで足ります。正確な結果が必要なとき、あるいは日付が過去や未来にあるときは、心算ではなく変換器を使ってください。1000 のずれは古典的な bug で、期限切れ判定を 50 年もずらせてしまいます。
タイムゾーンと表示
タイムスタンプを日付に変換するとき、時刻そのものは固定ですが、時計の読みはタイムゾーンで変わります。ToolsKit のタイムスタンプ変換器は常にブラウザのローカルタイムゾーンで描画し、UTC の値も併に表示するので、チームをまたいだ比較がやりやすく。期限切れのロジックを書くときは、常にタイムスタンプ(または UTC)を比較して、ローカルの時計表示を使ってはいけません。
逆方向の変換
日付をタイムスタンプにするには (date - epoch) を計算します。組み込みの変換器は完全な ISO 日付(2026-09-09T12:00:00)を受け取り、秒とミリ秒の両方を返します。JavaScript はミリ秒を使い、多くの API とデータベースは秒を使います。
どこで出逢うか
JWT の exp と iat、OAuth トークンの有効期限、ログのタイムスタンプ、データベースの created_at の初期値、キャッシュの TTL、cron の実行記録。すべて epoch 値です。ひと目で読み、必要なら正確に換算できれば、切り分けの時間を具体的に省けます。