ツール
ガイド

タイムスタンプ変換

変換

Unix タイムスタンプと可読日付を、複数のタイムゾーンで相互変換します。

100% クライアントサイド バックエンドなし
ISO 8601
ミリ秒
UTC
ローカル
このページの内容

Unix タイムスタンプとは?#

Unix タイムスタンプは、1970-01-01 00:00:00 UTC から経過した秒数(いわゆる Unix エポック)を数える整数です。タイムゾーンもロケールもサマータイムの曖昧さも持たない単一の整数であるため、ログ・データベース・API・ファイルメタデータの共通語として使われます。1700000000 という値は、東京でもロンドンでもリマでもまったく同じ瞬間を指します。「2023-11-14 14:13:20」のような壁時計の文字列は、誰の時計でどのオフセットなのかを併記しない限り、そこまで保証できません。

ただし現場では 2 つの慣習が並存しています。古典的な Unix 時間は単位で数えます(今日なら 10 桁、1700000000 のような値)。一方、JavaScript の Date、Java の System.currentTimeMillis()、そして多くのフロントエンドコードはミリ秒単位で数えます(13 桁、1700000000000 のような値)。この 2 つを混同すると「5 分前」が「5,000 分前」になってしまいます。本ページは貼り付けた値がどちらの単位かを自動判定し、その瞬間の一般的な表現をすべて並べて表示するため、下流のシステムが期待する形式をそのままコピーできます。

使い方#

  1. 入力欄に値を入力または貼り付けます。純粋な数値(秒かミリ秒かは桁数で判定)でも、2026-07-26T12:00:00Z のような日付文字列でもかまいません。プレースホルダーに両方の形式が示されています。
  2. 必要に応じて入力欄の下にある 3 つのボタンを使います。now() は現在の瞬間をミリ秒で埋め、サンプルは参照値を読み込み、クリアは入力欄を空にします。
  3. 結果パネルを読みます。各行は同じ瞬間を別の正規化形式で表したものです。すなわち ISO 8601(API が期待する Z サフィックス付きの UTC 文字列)、(Unix 時間)、ミリ秒(JS 形式)、UTC(人が読める UTC)、ローカルお使いのブラウザのタイムゾーンで表現した瞬間)。

主な機能#

  • 桁数による単位判定。 10,000,000,000 未満の数値は秒、それより大きい値はミリ秒として読み取ります。この境界は秒なら西暦 2286 年、ミリ秒なら 1970 年付近にあたるため、現実の値はすべてラジオボタンなしで正しく分類されます。
  • 数値と日付文字列の両方に対応。 17000000001700000000000、ISO/HTTP 形式の日付のどれを貼り付けてもパーサーが処理し、文字列が実在する日付でない場合は明確なエラーを返します。
  • 5 つの出力形式を同時表示。 ISO 8601、Unix 秒、Unix ミリ秒、UTC の可読表現、ローカルの可読表現を一度に示すため、データベース・ログ行・フロントエンドが要求する表現を手作業で再整形することなくコピーできます。
  • 100% クライアントサイド。 データはどこにも送信されません。変換はお使いのブラウザ内の Date 演算だけです。

実例#

1700000000(きりの良い 10 桁の値、明らかに秒)を貼り付けます。パネルはこの単一の瞬間を次のように分解します。

ISO 8601:  2023-11-14T22:13:20.000Z
Seconds:   1700000000
Millis:    1700000000000
UTC:       November 14, 2023 at 10:13:20 PM UTC
Local:     (rendered in your own timezone)

次に 1700000000000(末尾にゼロが 3 つ、ミリ秒)を貼り付けます。この値は 1e10 の閾値を超えるためミリ秒として読まれ、同じ瞬間に解決されます。パネルはまったく同じになります。これが桁数ルールの狙いです。同じ瞬間をどちらの慣習で表しても、1 つの曖昧さのない答えにデコードされます。

よくある質問#

秒とミリ秒をどうやって判定していますか?#

桁数で判定しています。1700000000 のような 10 桁の値は 100 億より小さいので秒として扱われ、1700000000000 のような 13 桁の値はその閾値より大きいのでミリ秒として扱われます。この閾値は安全です。100 億秒は西暦 2286 年にあたり、100 億ミリ秒は 1970 年初頭にあたるため、現実的なタイムスタンプが曖昧な領域に落ちることはありません。

ローカル時間が他人と違うのはなぜですか?#

ローカルの行は、お使いの OS に設定されたタイムゾーンで瞬間を表現します。UTC の行は絶対値です。同じタイムスタンプを貼り付けた 2 人は、同じ UTC と ISO の行を見ますが、ローカルの行は異なります。これは正しい挙動です。瞬間は同じで壁時計だけが異なるからです。

バックエンドから取得したタイムスタンプが 13 桁ですが、壊れていますか?#

いいえ、単にミリ秒です。JavaScript、Java、一部の Python ライブラリなど多くのランタイムはデフォルトでミリ秒精度を使います。そのまま入力欄に貼り付けてください。ツールが桁数を判定し、古典的な Unix 時間を期待するシステム向けにの行で対応する 10 桁の秒数を返します。