Unix Timestamp 変換

秒・ミリ秒を自動判定、UTC/JST/任意タイムゾーンで双方向変換。貼り付けるだけで動きます。

現在 (秒)
—
現在 (日時)
—

単一時刻変換

Unix Timestamp ⇄ 日時
相対: — ISO: — オフセット: —

履歴

    期間計算

    開始と終了を入れて、ミリ秒から日までの差分を同時に確認できます。

    期間の計算

    開始
    終了
    差分
    —
    ミリ秒
    —
    秒
    —
    分
    —
    時間
    —
    日
    —

    使い方

    1. 変換したい値を上の入力欄に貼り付けます。10桁以下なら秒、11〜13桁ならミリ秒、14〜16桁ならマイクロ秒、17桁以上はナノ秒として自動判定されます。秒/ミリ秒の切替を手で迷う必要はありません。
    2. 日時側を編集すれば、Unix Timestamp 側も同期して更新されます。逆もまた同じ。どちらが「入力」か「出力」かを気にせず、双方向に動きます。
    3. 表示するタイムゾーンは UTC / JST / 任意のタイムゾーン から選択できます。タイムゾーンを切り替えても Unix Timestamp の値そのものは変わらず、「同じ瞬間を別の見え方で表示する」だけです。
    4. URL に現在の値が自動で反映されているので、その URL をそのままチャットや Issue に貼れば、相手も同じ値で開けます。
    5. 下にある区間計算機を使うと、2つの日時を選んで「何秒・何分・何時間・何日離れているか」をまとめて確認できます。SLA の経過時間や、ログの時刻差を出すときに便利です。

    こんな時に使えます

    ログの時刻を読みたい

    AWS CloudWatch や Stackdriver のログに含まれる Unix Timestamp を、JST の人間に読める時刻にサッと変換できます。秒/ミリ秒の判定間違いで「2055年のイベント?」みたいな事故が起きません。

    API のテストデータ作成

    curl や Postman で API を叩くときの expires_at や created_at 用の値が、ピンポイントの日時から1秒で出ます。コピーボタンで即貼り付け可能。

    障害時のタイムライン整理

    障害報告書を書くとき、複数システムのログから Unix Timestamp を抜いて時刻を揃えると、起こった順番が分かりやすくなります。区間計算機で「事象 A から事象 B まで何分」も即出ます。

    JWT のデバッグ

    JWT の iat / exp / nbf は Unix Timestamp (秒) です。「このトークン本当に期限切れ?」を秒で確認できます。

    仕様のポイント

    もっと詳しく:Unix Timestamp の落とし穴

    2038年問題(32bit のオーバーフロー)

    Unix Timestamp を 32bit 符号付き整数(time_t)で持つシステムでは、2038年1月19日 03:14:07 UTC を超えた瞬間に値が桁あふれし、1901年へ巻き戻ってしまいます。これがいわゆる 2038年問題です。古い C 製プログラムや組み込み機器、一部データベースの timestamp 型が影響を受けます。一方、64bit 整数に拡張した環境や、ブラウザの JavaScript(内部は 64bit 浮動小数)では問題になりません。本ツールも 2038年以降の値を普通に変換できます。

    うるう秒は値として存在しない

    Unix Timestamp は「1日 = 86,400秒」固定で数える仕様で、実際の UTC に挿入されるうるう秒を値として持ちません。うるう秒の瞬間は同じ秒値が繰り返される(または飛ばされる)扱いになります。Google などは「UTC smear」と呼ぶ方式で、うるう秒の前後 24 時間に時間を薄く引き伸ばして辻褄を合わせています。秒単位の厳密な検証では、この前提を頭に入れておくと混乱しません。

    秒・ミリ秒・ナノ秒が混在する現場

    同じ「Unix 時間」でも、扱う単位は環境でバラバラです。Linux の date +%s は秒(10桁)、JavaScript の Date.now() はミリ秒(13桁)、Java の Instant や Go の一部 API はナノ秒まで扱います。桁を取り違えると「2055年のイベント?」のような事故が起こります。本ツールが桁数から単位を自動判定するのは、この取り違えを防ぐためです。

    関連ツール

    他にもいくつかの単機能ツールを揃えています。

    よくある質問

    Unix Timestamp とは何ですか?
    1970年1月1日00:00:00 UTC からの経過秒数です。協定世界時(UTC)基準の整数で、タイムゾーンの影響を受けない点が特徴です。ログや API のやり取りで広く使われています。
    秒とミリ秒、どちらを使うべきですか?
    用途次第です。Linux コマンドや多くの API は秒(10桁)を使います。JavaScript や JVM 系の一部ではミリ秒(13桁)が標準。当ツールは桁数を自動判定するので、貼り付けるだけで正しく処理します。
    16桁・19桁を入れたら警告が出るのはなぜ?
    16桁はマイクロ秒、19桁はナノ秒として扱いますが、内部はミリ秒(13桁)精度に丸めています。1ms以下の精度が必要な場合は、別の処理系で扱ってください。
    JST の Unix Timestamp はありますか?
    ありません。Unix Timestamp は UTC 基準の絶対時刻なので、JST だろうが UTC だろうが同じ瞬間なら同じ値になります。タイムゾーンは「表示上の見せ方」だけの違いです。
    1970年以前(負の値)も扱えますか?
    扱えます。負の整数を入れると、1970年以前の日時として変換されます。
    2038年問題は大丈夫?
    ブラウザの JavaScript は 64bit の浮動小数を使うので、2038年以降も安全に扱えます。32bit 環境の制約は本ツールには該当しません。
    うるう秒はどう扱いますか?
    Unix Timestamp 自体の仕様でうるう秒は「飛ばされる」扱いのため、本ツールも JavaScript の Date 実装に準じます。23:59:60 のような表記を入れると、実装依存で翌日 00:00 に吸収されるケースがあります。
    入力を誰かに共有できますか?
    ブラウザ上部の URL に現在の値が常に反映されます。URL ごとコピーして貼り付ければ、同じ状態で開けます。