タイムスタンプ変換ツール — Unixタイムスタンプをオンラインで日付に変換
Unixタイムスタンプを貼り付けて即座に人間が読める日付を表示——または日付を選んでタイムスタンプを取得。秒(10桁)とミリ秒(13桁)を自動判別。ISO 8601、ローカルタイム、UTCを同時表示。ブラウザで実行、サーバー不要。
Unixタイムスタンプの解説
Unixタイムスタンプは1970年1月1日 00:00:00 UTC(「エポック」)からの単純な秒数。今は約17億。それだけ——1つの整数が時間の一点を表し、タイムゾーンの曖昧さもフォーマットの議論もない。
開発者が好む理由:比較が簡単(数字が大きい=時刻が遅い)、ソートしやすい、保存がコンパクト(1つの整数カラム vs タイムゾーンメタデータ付きのdatetime型)。どの言語にも組み込み変換がある:JavaScriptのDate.now()はミリ秒、Pythonのtime.time()は秒を返す。
ミリ秒と秒の混同は実際に起こる。JavaScriptとJavaはミリ秒(13桁:1715600000000)。Unix/Linux、Python、PHP、ほとんどのAPIは秒(10桁:1715600000)。変換した日付が1970年1月になったら、ミリ秒を期待する関数に秒を渡している可能性が高い。このツールは桁数で自動検出する。
2038年問題:32ビット符号付き整数の最大値は2,147,483,647——2038年1月19日 03:14:07 UTC。それ以降、32ビットタイムスタンプは負の数にオーバーフローする。ほとんどの最新システムは64ビットタイムスタンプを使用しているが、組み込みシステムやレガシーデータベースはまだ32ビットを使用。
使い方
- Unixタイムスタンプ(秒またはミリ秒)を入力——ツールが自動判別。
- または日付/時刻を選んでタイムスタンプに変換。
- 結果はISO 8601、ローカルタイムゾーン、UTCを同時表示。
- 「現在のタイムスタンプを取得」で現在時刻のUnixタイムスタンプを取得。
使用場面
APIレスポンスやログのタイムスタンプを読む
APIが{"created_at": 1715600000}を返し、それが何日か知りたい。数字を貼り付けて日付を取得。
JWTトークンの有効期限をデバッグ
JWTトークンの"exp"クレームはUnixタイムスタンプ。JWTをデコードしてexp値を取得、ここに貼り付けていつ期限切れか確認。
キャッシュTTLとcronスケジュールの設定
現在のタイムスタンプを取得し、86400(1日の秒数)を足すと有効期限タイムスタンプになる。
タイムスタンプ列を使ったデータベースクエリ
「先週の全レコード」をクエリするには、今日の日付をタイムスタンプに変換し、604800(7×86400)を引く。
よくある落とし穴
秒 vs ミリ秒——桁数を確認
10桁=秒。13桁=ミリ秒。日付が1970年1月になったら混同している。このツールは自動検出するが、コードはしないかもしれない。API/ライブラリが何を期待するか常に確認。
タイムスタンプはUTC——タイムゾーン表示はローカル
タイムスタンプ1715600000は世界中で同じ瞬間。しかし表示はタイムゾーンに依存する。常にUTCで保存・送信し、表示時のみローカルに変換。
サマータイム変更をまたぐスケジューリングにタイムスタンプを使わない
タイムスタンプはサマータイムを知らない。繰り返しのローカルタイムイベントには「09:00 America/New_York」として保存し、動的に計算する。
負のタイムスタンプは有効(1970年以前の日付)
タイムスタンプ-86400は1969年12月31日。一部のシステムは負のタイムスタンプを正しく処理できない。
例
秒タイムスタンプ → 日付
APIレスポンスの典型的な10桁Unixタイムスタンプ。
Input
1715600000Output
2024-05-13T12:53:20.000Z (UTC) — 2024年5月13日 月曜日ミリ秒タイムスタンプ → 日付
13桁のJavaScriptタイムスタンプ(Date.now()の出力)。
Input
1715600000000Output
2024-05-13T12:53:20.000Z (UTC) — 同じ瞬間、ミリ秒精度機能
- 秒(10桁)vs ミリ秒(13桁)を自動検出
- 双方向変換:タイムスタンプ → 日付 と 日付 → タイムスタンプ
- ISO 8601、ローカルタイム、UTCを同時表示
- ワンクリック「現在のタイムスタンプを取得」ボタン
- 負のタイムスタンプ(1970年以前の日付)に対応
- 100%ブラウザ内で動作——データはサーバーに送信されない
よくある質問
なぜタイムスタンプが1970年1月1日に変換される?
おそらくミリ秒を期待する関数に秒を渡している。1000を掛ける:new Date(1715600000 * 1000)。桁数を確認。
Unixタイムスタンプの最大値は?
32ビット:2,147,483,647(2038年1月19日)。64ビット:約2920億年。JavaScriptのDateオブジェクトは64ビット浮動小数点でミリ秒を使用し、エポック前後約±285,000年まで正確。
各言語で現在のUnixタイムスタンプを取得するには?
JavaScript: Math.floor(Date.now()/1000)。Python: int(time.time())。PHP: time()。Java: System.currentTimeMillis()/1000。Go: time.Now().Unix()。JavaScriptのDate.now()以外はすべて秒を返す。
Unixタイムスタンプはうるう秒の影響を受ける?
受けない。Unix時間はうるう秒を無視し、毎日が正確に86400秒であるとみなす。うるう秒が発生すると、Unix時間は1秒を繰り返すか飛ばす(実装による)。NTPで補正される。
データベースにはタイムスタンプとISO文字列どちらで保存すべき?
ほとんどの場合、データベース固有のtimestamp/datetime型を使用(PostgreSQLのTIMESTAMPTZ、MySQLのDATETIME)。整数タイムスタンプを使う場面:インデックス付きカラムで最大クエリ速度が必要、Unix時間しか扱えないシステムとの互換性、日付型のないキーバリューストアに保存する場合。
ヒントと関連ワークフロー
- タイムスタンプを含むJSONデータを扱っていますか?整形するには、JSONフォーマッター.
- 出生タイムスタンプから正確な年齢を計算するには、年齢計算機.
- 時間ベースのユニークな識別子を生成するには、UUID生成ツール.
- URLクエリ文字列にタイムスタンプをエンコードするには、URLエンコーダー.