タイムスタンプ変換ツール: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ビットを使用。

使い方

  1. Unixタイムスタンプ(秒またはミリ秒)を入力すると、ツールが自動判別。
  2. または日付/時刻を選んでタイムスタンプに変換。
  3. 結果はISO 8601、ローカルタイムゾーン、UTCを同時表示。
  4. 「現在のタイムスタンプを取得」で現在時刻のUnixタイムスタンプを取得。

使用場面

APIレスポンスやログのタイムスタンプを読む

APIが{"created_at": 1715600000}を返し、それが何日か知りたい。数字を貼り付けて日付を取得。

JWTトークンの有効期限をデバッグ

JWTトークンの"exp"クレームはUnixタイムスタンプ。JWTをデコードしてexp値を取得、ここに貼り付けていつ期限切れか確認。

キャッシュTTLとcronスケジュールの設定

現在のタイムスタンプを取得し、86400(1日の秒数)を足すと有効期限タイムスタンプになる。

タイムスタンプ列を使ったデータベースクエリ

「先週の全レコード」をクエリするには、今日の日付をタイムスタンプに変換し、604800(7×86400)を引く。

よくある落とし穴

1.

秒 vs ミリ秒:桁数を確認

10桁=秒。13桁=ミリ秒。日付が1970年1月になったら混同している。このツールは自動検出するが、コードはしないかもしれない。API/ライブラリが何を期待するか常に確認。

2.

タイムスタンプはUTCで、タイムゾーン表示はローカル

タイムスタンプ1715600000は世界中で同じ瞬間。しかし表示はタイムゾーンに依存する。常にUTCで保存・送信し、表示時のみローカルに変換。

3.

サマータイム変更をまたぐスケジューリングにタイムスタンプを使わない

タイムスタンプはサマータイムを知らない。繰り返しのローカルタイムイベントには「09:00 America/New_York」として保存し、動的に計算する。

4.

負のタイムスタンプは有効(1970年以前の日付)

タイムスタンプ-86400は1969年12月31日。一部のシステムは負のタイムスタンプを正しく処理できない。

秒タイムスタンプ → 日付

APIレスポンスの典型的な10桁Unixタイムスタンプ。

Input

1715600000

Output

2024-05-13T12:53:20.000Z (UTC) / 2024年5月13日 月曜日

ミリ秒タイムスタンプ → 日付

13桁のJavaScriptタイムスタンプ(Date.now()の出力)。

Input

1715600000000

Output

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フォーマッター.
  • 出生タイムスタンプから正確な年齢を知りたいときに。年齢計算機.
  • 時間ベースのユニークIDが必要なら、こちらで生成できます。UUID生成ツール.
  • URLクエリ文字列にタイムスタンプを含める場合のエンコードはこちら。URLエンコーダー.