Unixタイムスタンプ変換ツール
無料オンラインUnixタイムスタンプ変換ツール。秒・ミリ秒・マイクロ秒を自動検出し、UTC・ローカル時刻・ISO 8601・相対時間に即座に変換。リアルタイムEpochクロック搭載。登録不要、100%ブラウザ処理でプライバシーも安心。
現在のUnixタイムスタンプ
0クイックリファレンス
コード例
Unixタイムスタンプ(Epoch時間)とは?
Unixタイムスタンプ(Epoch時間またはPOSIX時間とも呼ばれます)は、1970年1月1日 00:00:00 UTC からの経過秒数であり、事実上すべてのコンピューティングシステムにおける普遍的な時間基準として機能しています。LinuxカーネルやSQLデータベースからJavaScriptエンジンやモバイルOSに至るまで、現代のほぼすべてのプラットフォームがUnixタイムスタンプとして時間を保存・交換しています。
IEEE Std 1003.1(POSIX)では「Unix epoch(1970年1月1日 00:00:00 UTC)はPOSIX時間のゼロポイントとして機能する」と正式に定義されています。この規約は非常に広く採用されており、現在では世界中で機械可読タイムスタンプの事実上の標準となっています。Unixタイムスタンプは、HTTPヘッダー、JWTトークン、そして事実上すべてのREST APIを含む、サーバーサイドシステム、データベース、ネットワークプロトコルの圧倒的多数で使用されています。
Unix epochの1970年1月1日という日付は、任意に選ばれたものではありません。Unixは1960年代後半にBell Labsで開発され、1970年は当時の日付を管理しやすい整数サイズで表現できる、便利で切りの良い起点でした。任意の時点は、このアンカーポイントからの符号付き64ビット整数の秒数として表現できます。Epochより前の日付は負の数で表されます。例えば、1969年12月31日の深夜UTCは-86400(Epochの1日前、つまり86,400秒前)となります。
現代のシステムでは、秒単位より細かい時間精度が必要になることがよくあります。これに対応するため、タイムスタンプは一般にミリ秒(千分の1秒。JavaScriptの`Date.now()`やJavaの`System.currentTimeMillis()`が返す形式)またはマイクロ秒(百万分の1秒。PostgreSQLなどのデータベースや高頻度取引システムで使用)で表現されます。桁数で精度を識別できます:10桁は秒、13桁はミリ秒、16桁はマイクロ秒を示します。この変換ツールは入力の精度を自動的に検出します。
Unixタイムスタンプが分散コンピューティングの基盤となっている理由は、タイムゾーンに依存せず、(通常の条件下で)単調増加し、整数として簡単にソートできるからです。タイムスタンプとして時間を保存し、表示時にのみ人間が読める形式に変換することは、タイムゾーンバグの全カテゴリを排除するベストプラクティスです。トレードオフは可読性です。1741965432のような生のタイムスタンプは変換ツールなしでは意味が分からず、それがまさにこのツールが提供する機能です。
すべての変換はJavaScript Date APIを使用してブラウザ内で完全に行われます。タイムスタンプ、日付、その他のデータがサーバーに送信されることは一切ありません。このツールは、上部のライブクロックに表示されている現在のEpoch時間を含む、あらゆるUnixタイムスタンプを完全なプライバシーのもとで即座に人間が読める日付に変換します。
タイムスタンプは他の開発者ツールとも密接に関連しています。[UUID v1およびv7](/tools/uuid-generator)は識別子内に直接タイムスタンプを埋め込んでおり、タイムスタンプを含むAPIレスポンスは[JSONフォーマッター](/tools/json-formatter)を使用して整形すると確認しやすくなります。
// Get the current Unix timestamp in JavaScript const timestampSeconds = Math.floor(Date.now() / 1000); console.log(timestampSeconds); // → 1741965432 // Milliseconds (native JavaScript) const timestampMs = Date.now(); console.log(timestampMs); // → 1741965432000 // Convert timestamp back to a Date object const date = new Date(timestampSeconds * 1000); console.log(date.toISOString()); // → '2025-03-14T15:37:12.000Z' // Python equivalent // import time // timestamp = int(time.time()) # → 1741965432
主な機能
精度の自動検出
タイムスタンプが秒(10桁)、ミリ秒(13桁)、マイクロ秒(16桁)のいずれであるかを自動的に検出します。手動でモードを切り替える必要はありません。
双方向変換
タイムスタンプを人間が読める日付に変換したり、任意の日時を選択して対応するUnixタイムスタンプを3つの精度フォーマットすべてで即座に取得できます。
リアルタイムEpochクロック
現在のUnixタイムスタンプがリアルタイムで刻まれる様子を確認でき、変換や計算の正確な基準点として常に利用できます。
マルチフォーマット出力
すべての変換でUTC時刻、ローカルタイムゾーン、ISO 8601形式、そして人間に分かりやすい相対時間(例:「3日前」)が同時に出力されます。
100%ブラウザ内処理
すべての変換はJavaScript Date APIを使用してブラウザ内で完全に行われます。タイムスタンプ、日付、個人データがサーバーに送信されることは一切ありません。
Unixタイムスタンプと他の日付フォーマットの比較
ISO 8601
2025-03-14T15:37:12Z人間が読めると同時に辞書順でソート可能。データ交換とAPIの標準形式。人間の可読性が重要な場合はUnixタイムスタンプより推奨されます。
RFC 2822
Fri, 14 Mar 2025 15:37:12 +0000人間が読めるがソート不可。主にメールヘッダー(Dateフィールド)で使用されます。ISO 8601やUnixタイムスタンプより冗長です。
人間向け日付
2025年3月14日 午後3時37分エンドユーザーにとって最も読みやすい形式ですが、ソート不可でプログラム的な使用には不適切。UI表示レイヤーに限定して使用するのが最適です。
変換の例
標準Unixタイムスタンプ(秒)
1741965432
2025-03-14T15:37:12Z
10桁の秒単位タイムスタンプ。Unix/Linuxシステム、Unix API、JWTトークン、サーバーログで最も一般的に使用されるフォーマットです。この値は2025年の円周率の日(Pi Day)の15:37:12 UTCに対応しています。
Y2Kタイムスタンプ — 2000年1月1日
946684800
2000-01-01T00:00:00Z
Y2Kの瞬間のUnixタイムスタンプ:Unix epochからちょうど946,684,800秒後です。これは便利な校正値です。この入力に対して変換ツールが2000年1月1日を出力すれば、正しく動作しています。
負のタイムスタンプ(Epoch以前)
-86400
1969-12-31T00:00:00Z
負のUnixタイムスタンプは1970年1月1日より前の日付を表します。-86400はEpochのちょうど1日前(86,400秒前)であり、1969年12月31日の深夜UTCに対応します。すべてのシステムが負のタイムスタンプをサポートしているわけではありませんが、この変換ツールでは正しく処理されます。
ミリ秒タイムスタンプ(13桁)
1741965432000
2025-03-14T15:37:12.000Z
13桁のミリ秒単位タイムスタンプ。JavaScriptのDate.now()、JavaのSystem.currentTimeMillis()、および多くの最新REST APIでネイティブに使用されるフォーマットです。これは最初の例を1000倍したものに相当します。自動検出機能が13桁の長さを認識し、ミリ秒として正しく解析します。
Unixタイムスタンプを日付に変換する方法
- 1
変換方向を選択
「タイムスタンプ → 日付」を選択してUnixタイムスタンプを人間が読める日付にデコードするか、「日付 → タイムスタンプ」を選択してカレンダーの日時をUnixタイムスタンプに変換します。
- 2
値を入力
入力フィールドにUnixタイムスタンプ(例:1741965432 または 1741965432000)を貼り付けるか入力します。ツールは秒、ミリ秒、マイクロ秒のいずれかを自動的に識別します。「日付 → タイムスタンプ」の場合は、日付ピッカーを使用して年、月、日、時、分、秒を選択します。
- 3
変換結果をコピー
UTC、ローカル時刻、ISO 8601、相対時間の結果が即座に表示されます。任意のフォーマットの横にあるコピーボタンをクリックすると、クリップボードに直接コピーされます。
一般的なユースケース
- API開発とデバッグ
- APIレスポンス、JWTトークンペイロード(iat、exp、nbfクレーム)、Webhookイベントデータ、ログエントリに含まれる不透明なタイムスタンプをデコードします。認証トークンが期限切れかどうか、またはイベントがいつ発生したかを即座に検証できます。
- データベースのタイムスタンプ保存とクエリ
- データベースクエリの作成、保存されたレコードの検査、またはWHERE句で日付範囲フィルターが正しく指定されているかの検証時に、Unixタイムスタンプと人間が読める日付の間で変換します。
- ログファイルの分析と相関
- 多くのシステムログやアプリケーションログはイベントをUnixタイムスタンプで記録しています。疑わしいログエントリを人間が読める時刻に変換して、複数のサービス間でイベントを相関付けたり、攻撃ウィンドウを特定したり、エラーが発生した正確な瞬間を特定したりします。
- JWTトークンの有効期限検証
- JSON Web Tokenはペイロードにiat(発行日時)、exp(有効期限)、nbf(有効開始日時)をUnixタイムスタンプとしてエンコードしています。これらの値を直接貼り付けて、手動でepoch計算をすることなくトークンの有効期間を検証できます。
- Cronジョブのスケジューリング
- 提案された実行時刻をタイムスタンプに変換して戻すことで、cronジョブのスケジュール、スケジュールされたタスク、時間ベースのトリガーが意図した実行ウィンドウと一致しているかを検証します。
- タイムゾーンを跨いだ日付調整
- Unixタイムスタンプは本質的にタイムゾーンに依存しません。この変換ツールを使用して、異なるタイムゾーンのチーム間で日付や締め切りを調整する際に共有の基準点を確立し、任意のローカル時刻のUTC相当を確認できます。
技術リファレンス
- Unixタイムスタンプの定義
- Unixタイムスタンプは、Unix epoch(1970年1月1日 00:00:00 UTC、協定世界時)からの経過秒数の整数値です。この値は観測者のローカルタイムゾーンに関係なく同一であるため、時間の保存と比較においてタイムゾーンに依存しない理想的な表現方法です。
- 32ビット符号付き整数の最大値
- 32ビット符号付き整数の最大値は2,147,483,647です。Unixタイムスタンプとして解釈すると、これは2038年1月19日 03:14:07 UTCに対応します。タイムスタンプを32ビット符号付き整数で保存するシステムは、この瞬間にオーバーフローします。これは2038年問題として知られています。64ビットシステムでは数十億年先の日付まで表現可能です。
- JavaScriptはミリ秒を使用
- JavaScriptのDate.now()およびnew Date().getTime()は、epochからの秒数ではなくミリ秒数を返します。これにより13桁の数値が生成されます。標準的な秒単位のUnixタイムスタンプに変換するには、1000で割って切り捨てます:Math.floor(Date.now() / 1000)。多くのAPIやツールは秒を期待するため、この変換ステップは重要です。
- 負のタイムスタンプはEpoch以前の日付を表す
- Unixタイムスタンプは1970年1月1日より前の日付を表すために負の値を取ることができます。例えば、-86400は1969年12月31日 00:00:00 UTCを表します。符号付き64ビットタイムスタンプの範囲はEpochの前後約2,920億年に及び、あらゆる実用的な用途に十分対応できます。
- Unix時間はうるう秒を考慮しない
- Unix時間は1日あたり正確に86,400秒(24時間 x 60分 x 60秒)を前提としています。実際には、UTCを地球の自転と同期させるために、IERSによってうるう秒が時折挿入されます。そのため、Unix時間はTAI(国際原子時)に対して完全に線形ではなく、その差は時間とともに増加します。ほとんどのアプリケーションではこの差異は無関係ですが、精密な計時システムではこれを考慮する必要があります。
タイムスタンプ取り扱いのベストプラクティス
- タイムスタンプは常にUTCで保存する
- タイムスタンプはUTC(またはUnixタイムスタンプ)で保存し、ローカル時刻への変換は表示レイヤーでのみ行ってください。データベース内でタイムゾーンを混在させることは、特に夏時間の切り替え前後で再現やデバッグが困難なバグの一般的な原因です。
- 最新のAPIにはミリ秒精度を使用する
- 最新のAPI、JavaScript環境、データベースのほとんどは、秒(10桁)ではなくミリ秒(13桁)のタイムスタンプを使用しています。外部システムとの統合時には期待される精度を確認してください。秒が期待される場所にミリ秒のタイムスタンプを渡すと、約11,000年先の未来の日付が生成されます。
- 2038年問題に注意する
- Unixタイムスタンプを32ビット符号付き整数で保存するシステムは、2038年1月19日 03:14:07 UTCにオーバーフローします。レガシーシステムの32ビットタイムスタンプフィールドを監査し、64ビット整数またはISO 8601文字列に移行してください。最新の言語やデータベースのほとんどはデフォルトで64ビットタイムスタンプを使用していますが、組み込みシステム、古いデータベース、ファイルシステムにはまだリスクが残っている可能性があります。
- セキュリティにクライアント側のクロックを信頼しない
- クライアントデバイスのクロックは、偶発的または悪意を持って任意の値に設定される可能性があります。JWTの有効期限チェック、セッションタイムアウト、レート制限など、セキュリティ上重要なロジックにクライアントが提供するタイムスタンプを使用しないでください。常に信頼できるタイムソースを使用してサーバー側でタイムスタンプを検証してください。
- 人間が読めるデータ交換にはISO 8601を使用する
- ログファイル、設定ファイル、開発者が出力を読む可能性のあるAPIレスポンスなど、機械解析可能かつ人間が読めるタイムスタンプ形式が必要な場合、ISO 8601(例:2025-03-14T15:37:12Z)が最適な選択です。辞書順でソート可能で、曖昧さがなく、事実上すべての最新パーサーでサポートされています。
よくある質問
Unix時間はなぜ1970年1月1日から始まるのですか?
2038年問題とは何ですか?
秒、ミリ秒、マイクロ秒のタイムスタンプの違いは何ですか?
Unix時間はうるう秒を考慮しますか?
Unixタイムスタンプは負の値を取ることができますか?
JavaScript、Python、その他の言語で現在のUnixタイムスタンプを取得するには?
Epoch時間を人間が読める日付に変換するには?
現在のUnixタイムスタンプはいくつですか?
APIレスポンスのタイムスタンプをデバッグするにはどうすればよいですか?
Python、JavaScript、GoでUnixタイムスタンプを取得する方法は?
夏時間の切り替え時にUnixタイムスタンプはどうなりますか?
ミリ秒のタイムスタンプを秒に変換するにはどうすればよいですか?
関連ツール
すべてのツールを見る →進数変換ツール — 2進数・16進数・10進数・8進数
単位変換
無料オンライン進数変換ツール。2進数、8進数、10進数、16進数および任意の基数(2-36)間で数値を瞬時に変換。BigInt対応で桁数制限なし。登録不要・サーバー送信なし、すべての処理がブラウザ内で完結。コピーボタンやコードリテラル出力で開発作業を効率化。
Base64エンコーダー&デコーダー
エンコーディングとフォーマット
Base64のデコード・エンコードが無料でオンラインで行えます。リアルタイム変換、UTF-8・絵文字対応。100%ブラウザ上で動作しデータは外部に送信されません。登録不要。
画像圧縮ツール — JPEG・PNG・WebP を無料でオンライン圧縮
単位変換
無料オンライン画像圧縮ツール。JPEG、PNG、WebP 画像をブラウザ上で最大 80% 縮小。サーバーへのアップロード不要で完全プライベート。最大 20 枚の一括圧縮、品質調整、圧縮前後の比較機能を搭載。登録不要ですぐに使えます。
JSONフォーマッター&バリデーター
エンコーディングとフォーマット
無料オンラインJSON整形ツール。ブラウザ上でJSONのフォーマット、構文検証、圧縮を即座に実行。エラー検出、ワンクリックコピー対応。データは端末外に送信されず、100%プライバシー保護。
長さ単位変換ツール — メートル法・ヤードポンド法・天文単位対応
単位変換
1インチ = 2.54 cm、1フィート = 0.3048 m、1マイル = 1.609 km。メートル法・ヤードポンド法・海里・天文単位を含む16種類の長さ単位を即時変換。無料、ブラウザ完結、データ送信なし。
MD5ハッシュジェネレーター&ファイルチェックサムツール
セキュリティツール
無料オンラインMD5ハッシュ生成ツール。ブラウザ上でMD5・SHA-256・SHA-1・SHA-512のハッシュ値を即座に生成。テキストやファイルのチェックサム検証・比較、ワンクリックコピー対応。登録不要でデータはサーバーに送信されません。