Unixタイムスタンプ

Unixタイムスタンプと人間が読める日付・時刻を相互変換。プログラミングやデバッグに便利な開発者向けの無料Epoch時間変換ツールです。

現在のUnix Timestamp: ...
変換方向

秒単位のUnix Timestampを入力してください

使い方

  1. 変換方向を選択

    タイムスタンプを日付に変換するか、日付をタイムスタンプに変換するかを選択してください。

  2. 値を入力

    Unixタイムスタンプの数値を入力するか、日付と時刻を選択してください。

  3. 結果を確認

    変換するボタンを押すと、変換結果がさまざまな形式で表示されます。

Unixタイムスタンプとは?

Unixタイムスタンプ(Unix time、POSIX time、Epoch time)は、1970年1月1日 00:00:00 UTC(Unixエポック)から現在までに経過した秒数(seconds)を1つの整数で表した値です。タイムゾーン・サマータイム・暦の表記の違いに関係なく、世界中どこでも同じ瞬間を同じ数値で指し示すため、データベース保存・ログ記録・API通信・時刻比較において事実上の標準として使われています。

なぜ数値で表すのか?

  • 比較が単純 — 2つの時刻の前後関係を整数の大小比較だけで判定できます。
  • 計算が容易 — 足し引きするだけで、ただちに経過時間(秒)が得られます。
  • 曖昧さがない — UTC基準の絶対時刻なので、'KSTなのかUTCなのか'といった混乱がありません。

10桁(秒)と13桁(ミリ秒)がよく使われ、JavaScriptやJavaはミリ秒を、Unixのシステムコールは秒を既定として扱います。

計算式

タイムスタンプと日付は、1000(ミリ秒換算)を介して双方向に変換されます。

  • タイムスタンプ → 日付: 日付 = new Date(timestamp x 1000)
  • 日付 → タイムスタンプ: timestamp = floor(UTCミリ秒 / 1000)

: 1711324800秒を変換すると 1711324800 x 1000 = 1,711,324,800,000ミリ秒 → 2024-03-25 00:00:00 UTC になります。逆に 1970-01-01 01:00 を変換すると、1時間 = 3600秒なのでタイムスタンプは 3600 です。ここで timestamp はエポック以降の経過秒、x1000 はミリ秒換算の係数、floor は小数点以下の切り捨てを意味します。

よくある質問

Unixタイムスタンプとは何ですか?
Unixタイムスタンプ(Unix time、POSIX time)は、1970年1月1日 00:00:00 UTC からの経過秒数(seconds)です。コンピューターシステムで日付と時刻を表す最も基本的な方法で、タイムゾーンに関係なく同じ瞬間を1つの数値で表します。たとえばタイムスタンプ 0 は 1970年1月1日の深夜0時(UTC)です。
エポック(Epoch)とは何ですか?
エポックは時間測定の基準点を意味します。Unix/POSIXシステムではエポックは 1970年1月1日 00:00:00 UTC であり、'Unixエポック'とも呼ばれます。すべてのUnixタイムスタンプはこの時点を基準とした経過秒数を表し、負のタイムスタンプは1970年以前の時刻を表します。
Y2K38(2038年)問題とは何ですか?
Y2K38は、32ビット符号付き整数でタイムスタンプを保存する際に発生するオーバーフロー問題です。32ビットの最大値 2,147,483,647 が 2038年1月19日 03:14:07 UTC に相当し、その直後に値が負へ回り込み、時刻が1901年と誤って表示されます。現代のほとんどのシステムは64ビット整数を使ってこの問題を解決しています。
秒単位とミリ秒単位のタイムスタンプはどう違いますか?
秒単位は通常10桁(例: 1711324800)、ミリ秒単位は13桁(例: 1711324800000)です。両者の関係は'ミリ秒 = 秒 x 1000'で、JavaScriptのDate.now()やJavaはミリ秒を、Unixのdateコマンドや PHP time() は秒を既定で返します。この変換ツールは結果を秒とミリ秒の両方で表示します。
UTC時刻とローカル時刻はなぜ別々に表示されますか?
タイムスタンプ自体はUTCの絶対時刻ですが、人が見るには自分の地域の時刻のほうが分かりやすいです。そこで同じタイムスタンプをUTC基準と、ブラウザのローカルタイムゾーン基準の2通りで表示します。たとえば韓国(KST)はUTC+9なので、同じタイムスタンプでもローカル時刻はUTCより9時間進んで表示されます。
現在のUnixタイムスタンプはどう確認しますか?
このページを開くと、現在時刻のUnixタイムスタンプがリアルタイムで表示され、'現在のタイムスタンプを使用'ボタンで入力欄にそのまま入れられます。コマンドラインでは 'date +%s'(Unix/Mac)でも現在の秒単位タイムスタンプを取得できます。
ISO 8601形式とは何で、なぜ一緒に表示するのですか?
ISO 8601は '2024-03-25T00:00:00.000Z' のように日付と時刻を国際標準で表記する形式で、末尾の Z は UTC を意味します。タイムスタンプは人には読みにくく、UTC文字列はシステム間の互換性が高いため、API・ログ・JSONのデータ交換でよく一緒に使われます。そのため変換結果として併せて提供します。
タイムスタンプが0や負の値になることはありますか?
はい。タイムスタンプ 0 はエポックの基準点である 1970年1月1日 00:00:00 UTC で、それより前の時刻(例: 1969年)は負の値で表されます。参考までに、Y2K(2000-01-01)は 946684800、Y2K38の限界は 2147483647 のように、特定の時点は固定の整数値を持ちます。
2026年 カレンダーデータ対応

関連する計算機