Unixタイムスタンプ変換

日付と時刻 変換
Unixタイムスタンプ
タイムゾーン
日付時刻形式
@ 形式
日時
ISO 8601
RFC 3339
RFC 1123Z
RFC 822
RFC 822Z
RFC 1123
RFC 850
ANSIC
UnixDate
RubyDate
日付のみ
時刻のみ
厨房形式
スタンプ
ロケール形式
ロケール日付
ロケール時刻
16進数
相対時間
日付
- -
時刻
: :
UTC/GMT
Unixタイムスタンプ
ミリ秒
マイクロ秒
16進数
相対時間

はじめに

Unixタイムスタンプ(またはエポックタイム)は、コンピュータが時間を表現する標準的な方法です。1970年1月1日UTC午前0時からの秒数(うるう秒を除く)を単一の整数で表します。データベースレコード、APIレスポンス、JWTトークン、ログファイル、cronスケジュール、キャッシュ有効期限ヘッダなどに登場します。マシンはこれらの整数を即座に読み取りますが、人間はそれらをカレンダー日付と時刻に変換する必要があります — 多くの場合、複数の形式で同時に必要です。

Unixタイムスタンプ変換ツールは、ログからタイムスタンプをデコードしたり、トークンの有効期限を確認したり、タイムゾーンをまたいでcronジョブをスケジュールしたり、過去または将来のエポック値をすばやく調べたりする必要がある開発者、システム管理者、セキュリティアナリスト向けです。ツールは2つの独立したブロックに分かれています:

  • ブロックA(Unixタイムスタンプ → 日時):数値のタイムスタンプを入力すると、21の日付と時刻の形式で表示されます。標準ファミリごとに整理されています。
  • ブロックB(日時 → Unixタイムスタンプ):カレンダー日付、時刻、タイムゾーンオフセットを選択すると、秒、ミリ秒、マイクロ秒の相当するタイムスタンプが得られます。

両方のブロックに独自のタイムゾーンセレクタがあるため、一方でUTCを使用し、他方でカスタムオフセットを使用しても相互に影響しません。

仕組み

Unix時間はエポック(1970年1月1日00:00:00 UTC)からの秒数をカウントします。各 tick は正確に1秒を加算します。UTCに固定されているため、Unixタイムスタンプは地球上のどこでも同じ瞬間を表します — タイムゾーンが問題になるのは、人間が読み取れる文字列としてレンダリングするときだけです。

このツールは、すべての変換にブラウザのネイティブJavaScript Dateオブジェクトを使用します。すべてのDateは内部で時間をUnixエポックからのミリ秒という単一の数値として保存します。タイムスタンプを入力すると、ツールはDateを構築し、アクティブなタイムゾーンセレクタに応じてUTCまたはローカルのプロパティを読み取ります。カレンダー日付と時刻を入力すると、ツールは指定されたタイムゾーンオフセットで調整されたエポックからの差を計算します。

エコシステム別のタイムスタンプ単位

プラットフォームや言語によって異なるエポック単位が使用されます。ツールの単位セレクタを使用して、ソースの精度に合わせることができます:

単位 使用例
Go、PHP、Python、PostgreSQL、Ruby、cron 10桁
ミリ秒 JavaScript(Date.now())、Ethereum、.NET DateTimeOffset、Java System.currentTimeMillis() 13桁
マイクロ秒 Linux /proc/uptime、Go time.UnixMicro()、高解像度プロファイリング 16桁

ツールは入力値を内部的に秒に変換します。JavaScriptのDate.now()から13桁の値を貼り付ける場合は、単位をミリ秒に設定するとツールが除算を処理します。

タイムゾーンと夏時間

Unixタイムスタンプは常に同じ物理的な瞬間を表します。各ブロックのタイムゾーンセレクタは、その瞬間が表示または解釈される方法を変更するだけです。

  • UTCモード:すべての出力を協定世界時に基づいてレンダリングします。RFC 3339形式では、+00:00の代わりにリテラルのZサフィックスを使用します。
  • ローカルモード:ブラウザのシステムタイムゾーンを使用し、夏時間の自動調整を含みます。
  • カスタムモード:-12:00から+14:00の間の数値UTCオフセット。ツールはこのオフセットをDST補正なしで直接適用します — オフセットを固定の壁時計として扱います。

夏時間が有効な場合、ローカルタイムゾーンオフセットが変わります。同じタイムスタンプをローカルモードで表示すると、前の月とは異なる時刻が表示される可能性があります。これは想定内です:タイムスタンプは同じですが、ローカルの時計の慣習が変わったのです。

ロケール形式の行(Locale、Locale Date、Locale Time)については、ツールは選択されたタイムゾーンとブラウザの言語設定の両方を尊重します。UTCモードを選択した場合、toLocaleString{ timeZone: 'UTC' }を受け取り、ロケール形式が正しいタイムゾーンを使用することを保証します。

使い方

ブロックA — タイムスタンプから日時へ

  1. Unixタイムスタンプを入力フィールドに入力します(数字のみ、1970年以前の場合はオプションでマイナス記号)。
  2. 入力精度を選択します:ミリ秒、またはマイクロ秒
  3. タイムゾーンを選択します:UTCローカル(システムタイムゾーン)、またはカスタム(-12から+14の間で30分刻みのオフセットを入力)。
  4. 結果を読み取ります — 21の日付と時刻の形式行がリアルタイムで更新されます。

ブロックB — 日時からタイムスタンプへ

  1. 年を直接入力します。月、日、時、分、秒はドロップダウンメニューを使用します。
  2. UTC/GMTセレクタからタイムゾーンを選択します:ローカルはシステムタイムゾーンに一致します。UTC+8のような数値入力は、そのゾーンの壁時計時刻として入力を扱います。
  3. タイムスタンプの結果が秒、ミリ秒、マイクロ秒、16進数、相対時間ですぐに表示されます。

2つのブロックは独立して動作します。ブロックAを変更してもブロックBに影響はなく、その逆も同様です。これにより、タイムスタンプを並べて比較したり、さまざまな形式を探索しながら参照値を固定したりできます。

チュートリアル

シナリオ1:サーバーログからタイムスタンプをデコードする

アプリケーションログにタイムスタンプ1742345678が表示されています — 失敗したAPI呼び出しです。それが正確にいつ発生したかを知り、HTTPレスポンスヘッダとの関連付けのためにHTTP-date形式も確認する必要があります。

  1. Unixタイムスタンプ変換ツールを開きます。
  2. ブロックAの入力フィールドに1742345678と入力します。
  3. 結果には21の形式行が表示されます。含まれるもの:
    • @ Format3/19/2025 @ 2:14:38 PM +0000(クイックスキャン用の人間向け形式)
    • RFC 1123ZWed, 19 Mar 2025 14:14:38 +0000(HTTP-date標準、DateおよびLast-Modifiedヘッダに一致)
    • 相対時間124d(リクエストが発生してからの経過時間)
  4. タイムゾーンをローカルに切り替えて、自分のタイムゾーンでの時刻を確認します。

シナリオ2:特定の時間にcronジョブをスケジュールする

2026年6月15日午前3時30分Eastern Timeに実行されるcronジョブが必要です。Eastern Daylight Timeは6月はUTC-4です。

  1. ブロックBで、日付を2026年6月15日、時刻を03:30:00に設定します。
  2. UTC/GMTセレクタをUTC+4に設定します(EDTはUTC-4なので、-4を入力します)。
  3. の値を読み取ります — これがcronタイムスタンプです。16進数相対時間の行も更新され、機械可読と人間可読の両方の参照が同時に得られます。

プロのヒント

形式のユースケース

各出力形式には特定の目的があります。それぞれを使用するタイミングは次のとおりです:

形式 使用するタイミング
@ Format クイックな視覚スキャン — コンパクトなM/D/YYYY @ HH:MM:SS AM/PMレイアウトは一目で読めます
DateTime SQLデータベース挿入(YYYY-MM-DD HH:MM:SS)、JSON以外で最も一般的な文字列形式
ISO 8601 JSONペイロード(new Date().toISOString())、REST APIリクエスト/レスポンスボディ
RFC 3339 RSSフィード、Atomフィード、カレンダー購読(iCalendar)。ISO 8601により厳密なプロファイルが必要な場合に使用
RFC 1123Z HTTPヘッダ(DateLast-ModifiedExpires)、Cookie(expires属性)
RFC 822 メールヘッダ(Dateフィールド)、レガシーニュースグループ形式
RFC 850 古いHTTP/1.0実装(現在は稀、後方互換性のために維持)
ANSIC Goのtime.ANSIC定数 — Goのtime.Timeデフォルト出力を読むときに使用
RubyDate RubyのTime#ctime形式。古典的なUnixのctime出力と一致
DateOnly / TimeOnly Go 1.20+の便利な定数 — 日付のみ、または時刻のみを抽出
Kitchen Goの12時間時計形式 — クイックな壁時計の読み取り
Locale ユーザーインターフェース表示。ブラウザの言語と文化的慣習を尊重
Hex 低レベルデバッグ、ファームウェアタイムスタンプ、組み込みシステム
相対時間 ダッシュボード表示、「最終イベントからの経過時間」UI要素

言語別実装

各言語で現在のUnixタイムスタンプを取得する方法:

// Go
time.Now().Unix()      // 秒
time.Now().UnixMilli() // ミリ秒 (Go 1.17+)
// JavaScript
Math.floor(Date.now() / 1000) // 秒
Date.now()                     // ミリ秒
// PHP
time();              // 秒
intval(microtime(true) * 1000); // ミリ秒
# Python
import time; int(time.time())         # 秒
import time; int(time.time() * 1000)  # ミリ秒

一般的なヒント

  • 1970年より前のタイムスタンプ:負の値を入力します。1960年12月1日00:00:00 UTCは-286329600です。
  • 16進数入力:16進数値(0xプレフィックスの有無にかかわらず)は自動的に解析されます — 0x6618E1FEを入力すると10進数の等価値が表示されます。
  • タイムゾーンの比較:ブロックAのタイムゾーンをUTCに、ブロックBのタイムゾーンをローカルに同時に設定すると、同じ瞬間が両方でどのようにレンダリングされるかを確認できます。

代替手段

ツール タイムスタンプ→日付 日付→タイムスタンプ 21+形式 ブロック別独立タイムゾーン クライアント側
Toollect Unixタイムスタンプ変換 はい はい はい(21) はい はい
unixtimestamp.com はい はい 約5 いいえ はい
epochconverter.com はい はい 約8 いいえ はい
site24x7.com はい はい 約6 完全IANA はい
date -d @timestamp(Linux) はい いいえ 約3 システムTZのみ なし

トラブルシューティング

問題 原因 解決策
出力が1970年または1969年の日付を示す 入力が間違った単位で読み取られている 単位セレクタを入力に合わせて変更する(秒/ms/μs)
日付と時刻が間違った瞬間を示す タイムゾーンセレクタが正しく設定されていない UTCに切り替えて基本の瞬間を確認し、正しいオフセットに調整する
ロケール行が間違った時刻を示す ロケールの書式設定がブロックAのタイムゾーン選択を無視している これは修正済みです — ロケールは選択されたタイムゾーンを尊重するようになりました。最新バージョンを使用していることを確認してください
出力が更新されない 入力に数字以外の文字が含まれている フィールドをクリアし、数字とオプションの先頭マイナスのみを入力する
既知の過去のタイムスタンプに対して「たった今」と表示される 相対時間は現在のシステムクロックに対して計算される これは想定内です — 相対時間は常にタイムスタンプを「現在」と比較します
13桁の入力がはるか未来の日付を示す 入力はミリ秒だが単位がデフォルトの秒になっている 単位を「ミリ秒」に切り替える

技術仕様

  • 変換エンジン:JavaScript Dateオブジェクト(ECMAScript標準)
  • タイムスタンプ範囲:JavaScriptの数値範囲全体(±9京秒、数十億年をカバー)
  • 対応入力:10進整数、負の値(1970年以前)
  • 入力精度:秒、ミリ秒、またはマイクロ秒(設定可能)
  • タイムゾーン対応:UTC、ローカル(ブラウザシステム)、カスタムGMTオフセット(-12〜+14、0.5時間刻み)。各ブロックで独立

21の形式ファミリ

# グループ 形式
1 共通 @ Format 3/19/2025 @ 2:14:38 PM +0000
2 共通 DateTime 2025-03-19 14:14:38
3 共通 ISO 8601 2025-03-19T14:14:38+00:00
4 共通 RFC 3339 2025-03-19T14:14:38Z(UTCはZを使用)
5 RFC RFC 1123Z Wed, 19 Mar 2025 14:14:38 +0000
6 RFC RFC 822 19 Mar 25 14:14 UTC
7 RFC RFC 822Z 19 Mar 25 14:14 +0000
8 RFC RFC 1123 Wed, 19 Mar 2025 14:14:38 UTC
9 RFC RFC 850 Wednesday, 19-Mar-25 14:14:38 UTC
10 Go ANSIC Wed Mar 19 14:14:38 2025
11 Go UnixDate Wed Mar 19 14:14:38 UTC 2025
12 Go RubyDate Wed Mar 19 14:14:38 +0000 2025
13 Go DateOnly 2025-03-19
14 Go TimeOnly 14:14:38
15 Go Kitchen 2:14PM
16 Go Stamp Mar 19 14:14:38
17 ロケール Locale 3/19/2025, 2:14:38 PM(ブラウザ依存)
18 ロケール Locale Date 3/19/2025
19 ロケール Locale Time 2:14:38 PM
20 その他 Hex 0x6618E1FE
21 その他 相対時間 124d

形式ファミリツリー

このツールの日付と時刻の形式は、4つの系統に由来します:

  • RFC 822(1982年)は2桁の年を持つ元のメール日付形式を定義しました。RFC 1123(1989年)は4桁の年でそれを置き換えました。RFC 1123Zは、アルファベットの略称(UTC)の代わりに数値のタイムゾーンオフセット(+0000)を使用する同じ形式です。これらは一緒にHTTPヘッダ(1123Z)とメール形式(822)をカバーします。
  • ISO 8601(1988年)は日付と時刻の表現に関する国際標準を確立しました。RFC 3339(2002年)はISO 8601をインターネット向けにプロファイルし、UTCの場合は必須のZなどの要件を追加しました。最近のほとんどのAPIはこれらのいずれかを選択します。
  • Goの時間定数ANSICUnixDateRubyDateなど)は、Goの標準ライブラリに組み込まれた便利なレイアウトです。これらはPOSIX規約(ctime出力)、RFC標準、およびGo固有の便利な形式(DateOnlyKitchenStamp)を反映しています。
  • ロケール形式はブラウザのIntl.DateTimeFormat APIを使用し、これはUnicode Common Locale Data Repository(CLDR)に従います。正確な出力はユーザーのブラウザ言語設定によって異なります。

互換性

  • ブラウザ:Chrome 90+、Firefox 90+、Safari 15+、Edge 90+
  • 依存関係:なし — プレーンなJavaScript、サードパーティライブラリはゼロ
  • データ処理:100%クライアント側 — ネットワークリクエストはゼロ

機能

  • Unixタイムスタンプと人間が読める日付の双方向変換
  • リアルタイムの現在Unixタイムスタンプ表示と自動更新
  • 複数の出力形式:UTC、ローカル時間、ISO 8601、16進数、相対時間
  • 正確な日付からタイムスタンプへの変換のためのカスタムタイムゾーンオフセット対応
  • クライアント側処理 — サーバーにデータは送信されません

よくある質問

Unixタイムスタンプとは何ですか?
Unixタイムスタンプ(エポックタイムとも呼ばれます)は、1970年1月1日00:00:00 UTCからの経過秒数です。コンピュータがタイムゾーンやカレンダー形式に依存せずに時間を単一の整数で表現するための普遍的な方法です。
タイムスタンプが秒かミリ秒かはどうやって判断できますか?
秒単位のUnixタイムスタンプは10桁(例:1712345678)ですが、ミリ秒単位のタイムスタンプは13桁(例:1712345678000)です。当ツールはすべての入力を秒として扱います。出力テーブルには参考としてミリ秒換算も表示されます。
このツールは1970年より前の日付を扱えますか?
はい。1970年1月1日より前の日付は負のUnixタイムスタンプとして表現されます。例えば、1969年12月31日23:59:00 UTCは-60秒です。負の値を入力すると、ツールは正しく変換します。
データはサーバーに送信されますか?
いいえ。すべての変換はブラウザ内で完全に行われます。ネットワーク経由でデータが送信されることはありません。そのため、プライベートなログや機密システムからのタイムスタンプ処理にも安全です。
2038年問題とは何ですか?
2038年1月19日03:14:07 UTCに、32ビット符号付き整数のUnixタイムスタンプがオーバーフローします。最大値2,147,483,647が-2,147,483,648にラップされ、1901年12月13日を表すことになります。最近のシステムのほとんどは64ビット整数を使用しており、この問題を数十億年にわたって回避しています。
ISO 8601とRFC 3339の違いは何ですか?
RFC 3339はISO 8601のプロファイルです。両者は同じ基本形式(YYYY-MM-DDTHH:MM:SS±HH:MM)を共有していますが、RFC 3339ではタイムゾーン指示子(UTCの場合はZ、それ以外は±HH:MM)が必要で、3桁の年範囲を義務付けています。実際には、ほとんどの近代的なAPIはどちらの形式でも問題なく受け入れます。
ESC