タイムスタンプ変換
UNIXタイムスタンプと日時を相互変換します
基本変換
UNIXタイムスタンプを日付と時刻に変換する
任意のタイムスタンプ(半角数字)→
現在時刻のUNIXタイムスタンプを取得する
現在のタイムスタンプを取得する→
任意の日付からUNIXタイムスタンプに変換する
西暦
年
月
日
時
分
秒のタイムスタンプ→
現在時刻からの相対計算
今から
年前のタイムスタンプ→
今から
日前のタイムスタンプ→
今から
日後のタイムスタンプ→
特定の日付からの相対計算
西暦
年
月
日 0時0分0秒から
日前のタイムスタンプ→
西暦
年
月
日 0時0分0秒から
日後のタイムスタンプ→
時間の絶対値計算
タイムスタンプの絶対値(秒数)を計算
分→
|
時間→
|
日→
💡 UNIXタイムスタンプの雑学・Tips
🕰️ なぜ1970年1月1日が起点なのか
UNIXタイムスタンプの基準点(エポック)が1970年1月1日0時0分0秒(UTC)なのは、UNIXが開発された時期に近く区切りがよいという理由で決められた、実用的な理由によるものです。特に深い技術的根拠があるわけではなく、開発者たちが「最近の適当な日付」として選んだとされています。
⏰ 2038年問題:32ビットの限界
32ビット符号付き整数でタイムスタンプを管理している古いシステムでは、2038年1月19日3時14分7秒(UTC)にオーバーフローが発生します。この瞬間以降、時刻が1901年に巻き戻ったように誤動作する「2038年問題(Y2K38問題)」が起きる可能性があります。Y2K(2000年問題)と同様、組み込み機器や古いサーバーへの影響が懸念されています。
🌍 タイムスタンプはタイムゾーンを持たない
UNIXタイムスタンプは常にUTC(協定世界時)基準の絶対的な秒数であり、タイムゾーン情報を含みません。そのため「日本時間2024年1月1日0時0分0秒」と「UTC2023年12月31日15時0分0秒」は同じタイムスタンプになります。国をまたぐシステムでの日時管理にタイムスタンプが重宝されるのはこの性質のためです。
💡 86400秒の法則と「うるう秒」の例外
1日は通常86,400秒(60秒×60分×24時間)ですが、地球の自転速度のずれを補正する「うるう秒」が挿入されると1日が86,401秒になることがあります。UNIXタイムスタンプはうるう秒を無視した設計のため、うるう秒が発生した瞬間に同じタイムスタンプが2回存在するという矛盾が生じます。この問題からGoogleやAWSは「うるう秒スミア」という独自の補正方式を採用しています。
🔢 ミリ秒タイムスタンプとの混同に注意
JavaScriptの Date.now() はミリ秒単位のタイムスタンプを返しますが、Pythonの time.time() やデータベースでは秒単位が一般的です。現在のUNIXタイムスタンプは10桁(例:1700000000)ですが、ミリ秒タイムスタンプは13桁になります。桁数を確認することで秒・ミリ秒どちらか判別できるため、API連携時の単位ミスを防ぐ際の目安になります。