N2
NanToo
開発者向け

Unixタイムスタンプ変換

Unixタイムスタンプと日時を相互変換。秒・ミリ秒の自動判別、リアルタイム時刻表示、JST/UTC対応。エンジニアの日常ツール。

現在のUnixタイムスタンプ

1780533715

1780533715481 ms

タイムスタンプ → 日時変換

日時 → タイムスタンプ変換

Unix秒

1780533715

Unixミリ秒

1780533715000

リファレンス

Unixタイムスタンプ変換について

Unixタイムスタンプとは

Unixタイムスタンプ(Unix Timestamp)は、1970年1月1日 00:00:00 UTC(Unix Epoch)からの経過秒数で時刻を表す方式です。エポック秒POSIX時間とも呼ばれ、プログラミングやシステム管理において最も広く使われている時刻表現のひとつです。

タイムゾーンに依存しない単一の数値で時刻を表現できるため、異なるシステム間でのデータ交換や、データベースでの日時保存に適しています。

タイムスタンプ変換の仕組み

Unixタイムスタンプと人間が読める日時の変換は、以下の流れで行われます。

タイムスタンプ → 日時

  1. タイムスタンプの数値をミリ秒に変換(秒の場合は1000倍)
  2. 1970年1月1日 00:00:00 UTCに加算
  3. タイムゾーンを適用して表示(日本時間はUTC+9)

日時 → タイムスタンプ

  1. 指定された日時をUTCに変換
  2. 1970年1月1日 00:00:00 UTCとの差分を算出
  3. 差分を秒(またはミリ秒)で出力

本ツールでは、入力された数値が10桁程度なら秒、13桁程度ならミリ秒として自動判定します。

Unixタイムスタンプの用途

Unixタイムスタンプは、以下のような場面で広く利用されています。

  • プログラミング:JavaScript(Date.now())、Python(time.time())、PHP(time())など多くの言語で標準的に使用
  • API・Web開発:REST APIのレスポンスやJWTトークンの有効期限に使用
  • データベース:MySQLのUNIX_TIMESTAMP()、PostgreSQLのEXTRACT(EPOCH FROM ...)など
  • ログ分析:サーバーログやアクセスログのタイムスタンプ解析
  • ファイルシステム:ファイルの作成日時・更新日時の内部表現
  • 分散システム:TwitterのSnowflake IDなど、タイムスタンプベースのID生成

2038年問題(Y2K38)

2038年問題(Y2K38問題)は、32ビット符号付き整数でUnixタイムスタンプを扱うシステムに影響する問題です。

32ビット符号付き整数の最大値は 2,147,483,647(=2^31 - 1)で、これは2038年1月19日 03:14:07 UTC に相当します。この時刻を超えると整数がオーバーフローし、日時が1901年に戻るなどの誤動作が発生します。

現代の多くのシステムは64ビットに移行済みですが、組み込みシステムやレガシーソフトウェアでは依然として注意が必要です。64ビットでは約2920億年先まで表現可能なため、実質的に上限はありません。

よくある質問

Q. Unixエポック(Epoch)とは何ですか?
Unixエポックは、1970年1月1日 00:00:00 UTC のことを指します。Unixタイムスタンプは、このエポックからの経過秒数として定義されています。この基準点が選ばれた理由は、Unix OSの開発時期(1969〜1970年頃)に由来します。
Q. なぜ1970年が基準なのですか?
Unix OSが開発された1960年代後半〜1970年代初頭の時期にちなんでいます。当初はシステムの稼働開始に近い切りの良い日付として1970年1月1日が選ばれました。32ビットで当時から十分な未来(2038年)までカバーできる実用的な選択でした。
Q. 秒とミリ秒の違いは何ですか?
標準的なUnixタイムスタンプは秒単位(10桁程度)です。JavaScriptのDate.now()やJavaのSystem.currentTimeMillis()はミリ秒単位(13桁程度)を返します。本ツールは入力値の桁数から秒かミリ秒かを自動判定します。
Q. タイムゾーンはどう扱われますか?
Unixタイムスタンプ自体はタイムゾーンに依存しないUTCベースの値です。本ツールでは変換時にブラウザのローカルタイムゾーン(通常は日本時間 JST = UTC+9)を使用して表示します。UTC表示も併記しているため、他のタイムゾーンとの比較も容易です。
Q. 2038年問題はどのような影響がありますか?
32ビット符号付き整数でタイムスタンプを扱うシステムでは、2038年1月19日 03:14:07 UTC 以降にオーバーフローが発生します。現代の64ビットシステムでは問題ありませんが、組み込み機器やレガシーシステムでは対応が必要な場合があります。
Q. 負のタイムスタンプは何を意味しますか?
負のタイムスタンプは1970年1月1日より前の日時を表します。例えば -86400 は 1969年12月31日 00:00:00 UTC です。多くのプログラミング言語やデータベースは負のタイムスタンプにも対応しています。

関連記事

絵文字 (Emoji) の歴史 ― 1999 年 NTT ドコモ 176 文字から MoMA、Unicode 16 まで

絵文字は1999年に栗田穣崇がNTTドコモのi-modeで設計した176文字に起源を持つ。日本ローカルから始まった文化が、2010年Unicode 6.0で世界標準に、2016年にはMoMA永久コレクション入り。本記事ではUnicode Consortium、MoMA、栗田氏インタビュー等の一次ソースから絵文字史を整理します。

cron式の完全解説 ― 5つの星が生まれた歴史、書き方、そしてハマりどころ

cronの5フィールド形式がなぜ生まれたのか、UNIX V7からVixie Cron、そしてAWS/GitHub Actions/Kubernetesの方言まで歴史を辿り、実践的な書き方・よくある罠を完全解説します。

GPS の仕組み — NAVSTAR・準天頂衛星みちびき・1 日 38 μs ずれる相対性理論補正

スマホの位置情報、宅配の到着時刻予測、自動運転 — GPS は 24 時間動いていますが「なぜ場所がわかるのか」を答えられる人は少ない。米国 DoD の NAVSTAR、日本の QZSS みちびき、そして特殊+一般相対性理論で 1 日 38 μs ずれる補正まで。内閣府・JAXA・DoD の一次資料で整理します。

UUID v1 / v4 / v7 の使い分け — RFC 9562 に基づく実用ガイド

UUIDにはv1からv8までのバリアントがあります。RFC 9562(2024年)で仕様が刷新され、新たに時刻順序を持つv7が標準化されました。各版の構造と使い分けを原理から整理します。

このツールを評価
(0件)