Unix タイムスタンプを変換する方法
Unix タイムスタンプは、コンピュータが時刻を保存・交換する方法 — 1970 年 1 月 1 日からの秒数を表す単一の数値です。API レスポンス、データベースレコード、ログファイル、JWT トークンなどで見かけます。1711824000 がどの日付に対応するのか知りたいときは、コンバーターが必要です。
Unix タイムスタンプの見え方
| タイムスタンプ | 種類 | 人間が読める日付 |
|---|---|---|
| 0 | 秒 | 1970 年 1 月 1 日 00:00:00 UTC |
| 1000000000 | 秒 | 2001 年 9 月 9 日 01:46:40 UTC |
| 1711824000 | 秒 | 2024 年 3 月 31 日 00:00:00 UTC |
| 1711824000000 | ミリ秒 | 2024 年 3 月 31 日 00:00:00 UTC |
秒とミリ秒の違いは、末尾のゼロが 3 つ多いかどうかです。10 桁の数値は秒、13 桁の数値はミリ秒です。
タイムスタンプを変換する方法
- タイムスタンプか日付を入力 — Unix タイムスタンプを貼り付けて読める日付に変換するか、日付を入力してタイムスタンプを取得します。
- 形式を確認 — コンバーターは数値の桁数に基づいて秒かミリ秒かを自動的に検出します。
- 結果を確認 — ローカルタイムゾーン、UTC、ISO 8601 形式の 3 種類で日付が表示されます。
タイムスタンプを目にする場所
- API レスポンス — ほとんどの REST API は日付を Unix タイムスタンプで返します:
"created_at": 1711824000 - JWT トークン —
iat(発行時刻)とexp(有効期限)のクレームは Unix タイムスタンプです - データベースレコード — 多くのデータベースは効率的なソートと比較のために整数でタイムスタンプを保存します
- ログファイル — サーバーログはエポックタイムスタンプで行を始めることがよくあります
- cron ジョブ — スケジューリングシステムは Unix 形式で時刻を参照します
コードでのタイムスタンプ
主要言語でのクイック変換:
JavaScript: new Date(1711824000 * 1000)(JS はミリ秒を使用)
Python: datetime.fromtimestamp(1711824000)
現在時刻: Date.now()(JS)、time.time()(Python)
ヒント
- JavaScript では 1000 を掛ける — JS の
Dateオブジェクトはミリ秒を期待しますが、ほとんどの API は秒を返します。掛け忘れは最もよくあるタイムスタンプのバグです。 - 常に UTC を指定する — 変換するときはタイムゾーンを明示してください。「3 月 31 日 0 時」は、UTC、EST、PST のどれを指すかでまったく違うタイムスタンプになります。
- 表示には ISO 8601 を使う — 変換後は日付を
2024-03-31T00:00:00Zのような形式にすれば、タイムゾーンをまたいでも誤解のないコミュニケーションができます。 - コンバーターをブックマーク — API やデータベースを扱うなら、ワンクリックで開けるツールが欲しくなるくらい頻繁に変換することになります。
よくある質問
Unix エポックタイムとは何ですか?
Unix エポックタイム(POSIX タイムまたは Unix タイムスタンプとも呼ばれます)は、1970 年 1 月 1 日 00:00:00 UTC から経過した秒数のことです。コンピュータが内部的に時刻を表現するための標準的な方法です。
秒単位のタイムスタンプとミリ秒単位の違いは何ですか?
秒単位の Unix タイムスタンプは 10 桁です(例:1711824000)。ミリ秒単位は 13 桁です(例:1711824000000)。JavaScript はミリ秒を使い、ほとんどの API やデータベースは秒を使います。コンバーターは桁数で自動的に検出します。
変換した時刻が数時間ずれているのはなぜですか?
タイムスタンプは常に UTC です。コンバーターは UTC とローカルタイムの両方を表示します。結果が予想と一致しない場合、UTC の出力をローカルタイムと比較しているか、その逆になっている可能性が高いです。
2038 年に何が起こりますか?
32 ビット符号付き整数で Unix タイムスタンプを保存しているシステムは、2038 年 1 月 19 日にオーバーフローします。最新のシステムはほとんどが 64 ビット整数を使っており、実用上の懸念をはるかに超える範囲まで拡張されています。