本文へスキップ
totonoe.tech

日時を整える

中級

タイムスタンプを整える。

= Unix時間 ⇔ 日付の変換

UNIX 時間が初めての方は、先に そもそも UNIX 時間(エポック秒)とは・どんな場面で使うか をどうぞ。

アニメで見る — UNIXタイムスタンプのしくみ 開くと1ステップずつ動きます
📅

日時

2023-11-15 など

🏁 1970/1/1 00:00 UTC = 0秒
📅 2023-11-15
🔢

1970年基準で数える

経過した秒

+1秒ずつ数える
⏱

UNIX秒

世界共通の数

⏱ 1700000000 秒

STEP 1

※ イメージ図です。下の入力欄で、実際の日時⇔エポック秒を変換できます。

桁数から秒/ms/μs/ns を自動判定します。

結果

計算中…

各種フォーマット

JST(人間向け)

—

UTC(人間向け)

—

ISO 8601(JST)

—

ISO 8601(UTC / Z)

—

エポック秒(4桁単位)

秒(s)

—

ミリ秒(ms)

—

マイクロ秒(μs)

—

ナノ秒(ns)

—

期間差分(A → B)

分解

—

日数

—

時間

—

分

—

秒

—

そもそも UNIX 時間(エポック秒)とは

日時を、ひとつの大きな数で表す方法。

UNIX 時間(エポック秒)は、1970年1月1日 00:00:00 UTCを0として、そこから何秒たったかを数えた値です。UNIX 系の OS で使われ始めたのでこの名前があります。日時を「年・月・日・時・分・秒」ではなく1つの整数にするので、足し算・引き算や大小の比較がかんたんになります。

数えるのは世界共通の秒なので、タイムゾーンで変わるのは「表示される時刻」だけで、数そのものは同じです。いまの時代の値は、秒なら10桁、ミリ秒なら13桁が目安です。UTC は協定世界時、ISO 8601 は日時を「2026-05-15T13:30:00+09:00」のように書く国際的な形式です。

どこで・どんな場面で出会うか

  • API の応答に出てくる数

    JSON の中の created_at や updated_at に、10桁や13桁の数だけが入っていることがあります。いつの日時かを確かめるのに使います。

  • JWT(ログイン用トークン)の有効期限

    トークンの中の exp は、UNIX 時間の秒で書かれます。期限が切れたのかを調べるときに読み替えます。

  • サーバーログ・データベースの確認

    障害調査で「この数のとき何が起きたか」を、日本時間に直して突き合わせます。

  • JavaScript のプログラム

    Date.now() が返すのはミリ秒です。秒を期待する別のシステムに渡すと、桁がずれます。

  • システム間のデータ連携

    別々の会社のシステムで日時をやり取りするとき、時差の混乱を避けるために数で受け渡すことがあります。

知らないと何が困るか

  • 秒とミリ秒の取り違え。1000倍ずれて、「1970年ごろ」や「何万年も先」の日付が出たら、まず桁を疑います。
  • UTC と日本時間の9時間差。数は同じでも、UTC のまま読むと日本時間とは9時間ずれて見えます。
  • 「2038年問題」。32ビットの符号つき整数で秒を持つ古い仕組みは、2038年1月19日に上限に達します。古い機器やシステムでは注意が必要です。

上の入力欄に、手元のログにある10桁や13桁の数を貼り付けて、いつの日時なのか確かめてみてください。

有名なエポック値

クリックで入力欄にセット。

名称 エポック (ms)
Unix epoch 開始 0
兆ミリ秒(13桁突入) 1,000,000,000,000
1.5兆ms 1,500,000,000,000
1.7兆ms 1,700,000,000,000
2038年問題 2,147,483,647,000
2100-01-01 UTC 4,102,444,800,000

このツールについて

Unix エポック(秒/ms/μs/ns 自動判定)⇔ ISO8601 ⇔ JST/UTC を同時表示。相対時間「3日前」、A→B の期間差分まで一発で。サーバーログ・API・SQL の確認に。

Unix エポック(秒/ms/μs/ns 自動判定)⇔ ISO8601 ⇔ JST/UTC を同時表示。相対時間・期間差分・有名なエポック値まで。

🔰 かんたんに言うと

「1700000000」のような機械用の時刻(Unix時間)を、人間の日付に変換します。

主な機能

  • 桁数から秒/ms/μs/ns 自動判定
  • JST/UTC・ISO8601 同時表示
  • 相対時間(3日前など)
  • 期間差分(A→B)

よくある質問

Q. 入力欄に何を入れればいい?

A. Unix エポック(秒/ミリ秒/マイクロ秒/ナノ秒のどれでもOK・桁数から自動判定)か、ISO8601 形式の日時文字列(例:2026-05-15T13:30:00+09:00、2026/05/15 13:30、May 15 2026 13:30 JST など)が入ります。空欄で「今」が入ります。

Q. 秒とミリ秒、どっちが入力された?

A. 桁数で自動判定します。10桁以下=秒、13桁=ミリ秒、16桁=マイクロ秒、19桁=ナノ秒として扱います。境目は「2001-09-09 以降は10桁→13桁に切り替わった」という事実に基づく簡易判定です。

Q. JST と UTC、どう違う?

A. UTC(協定世界時)は世界共通の基準時。JST(日本標準時)は UTC より9時間進んでいます(UTC+9)。例:UTC が 2026-05-15 04:30 のとき、JST は 2026-05-15 13:30。サーバーログは UTC、人間が見る画面は JST、というのが一般的な分担です。

Q. 「2038年問題」って何?

A. 32bit signed int の上限が 2,147,483,647 秒で、これは UTC で 2038-01-19 03:14:07 にあたります。これを過ぎると、古い32bitシステムでは負数にラップして時刻がおかしくなる「2038年問題」が発生します。現代の言語・OSは64bit化済みで影響は限定的ですが、組み込み・C ライブラリ・古い DB スキーマには残っています。

Q. ISO 8601 ってどんな形式?

A. 「YYYY-MM-DDTHH:mm:ss±hh:mm」または末尾「Z」(=UTC)。例:2026-05-15T13:30:00+09:00、2026-05-15T04:30:00Z。区切り文字や TZ の表記が固定されているため、機械にもパースしやすい標準形式です。

Q. 相対時間と期間差分の違いは?

A. 「相対時間」は基準日時(今)からの差を「3日前」「5分後」のように1単位で表示。「期間差分」は2つの日時の差を「3日4時間12分」のように複数単位に分解表示します。前者はSNSやログの読みやすさ、後者は厳密な期間計算に向きます。

入力値はURLの「#」以降に入るためサーバーには送信されません。リンクを開くと同じ状態を復元します。

続けて整える

このツールの解説記事

運営サイト

私たちが運営するサイト