Web便利ツール

Unix タイムスタンプ変換ツール

このツールについて

使い方

  1. 「タイムスタンプ → 日時」: Unix タイムスタンプを入力すると、JST・UTC・ISO 8601 形式に変換します
  2. 「日時 → タイムスタンプ」: 日時を選択すると、秒・ミリ秒のタイムスタンプに変換します

Unix タイムスタンプとは

1970年1月1日 00:00:00 UTC からの経過秒数で時刻を表す方式です。多くのプログラミング言語やデータベースで広く使われています。

秒 (10桁) とミリ秒 (13桁) の2種類があり、このツールでは桁数から自動判定します。

現在のタイムスタンプ (秒)
1777294972

タイムスタンプ → 日時

日時 → タイムスタンプ

:
:
豆知識

なぜ 1970 年 1 月 1 日が起点なのか

Unix タイムスタンプの起点 (エポック) は 1970 年 1 月 1 日 00:00:00 UTC です。 この日付が選ばれた理由は、Unix オペレーティングシステムの開発が 1960 年代後半に始まり、 初期のバージョンが 1970 年前後に完成したことに由来します。 当時のシステムでは 32 ビット整数でタイムスタンプを扱っていたため、 なるべく近い日付を起点にすることでメモリを効率的に使えるようにしました。

2038 年問題

32 ビット符号付き整数の最大値は 2,147,483,647 です。 これは 1970 年 1 月 1 日から数えて 2038 年 1 月 19 日 03:14:07 UTC に到達します。 この時点を超えると整数がオーバーフローし、 日時が 1901 年 12 月 13 日に巻き戻ってしまう問題が「2038 年問題」(Y2K38) です。

現在の多くのシステムでは 64 ビット整数を使うことでこの問題を回避しています。 64 ビットなら約 2920 億年後まで表現でき、事実上の制限はなくなります。

秒とミリ秒の使い分け

一般的な Unix タイムスタンプは「秒」単位 (10 桁) ですが、 JavaScript (Date.now()) や Java (System.currentTimeMillis()) では 「ミリ秒」単位 (13 桁) が標準です。 API やデータベースから取得したタイムスタンプがどちらの単位かは桁数で判別できます。

参考リンク

このツールの更新履歴

  • 新ツール

    Unix タイムスタンプ変換ツールを公開

    Unix タイムスタンプと日時の相互変換、JST/UTC/ISO 8601 形式表示に対応します。