Unix時刻変換について
Unix 時間(POSIX)は 1970-01-01 00:00:00 UTC からの秒数。閏秒は加算されず、API/ログ/DB でよく見るカウンタです。
1e12 未満は秒、それ以上はミリ秒と解釈。日時入力から epoch を逆算も可能。表示は ja ロケール(24 時間)。
下の例で 0・1 日・10/13 桁を試し、本番ログ前の sanity check に。
できること
定義
ISO 8601 の 1970-01-01T00:00:00Z からの秒。1 日 = 86400 秒(Unix では閏秒を数えない)。
秒とミリ秒
- ログ・JWT は 10 桁秒が多い。
- Date.now() 等は 13 桁ミリ秒。
- 本ツール:1e12 未満→秒、以上→ミリ秒。
タイムゾーンと日本
表示はサイト言語ロケール。日本標準時は UTC+9、現在 DST なし。1986–1991 年は夏時間あり — 古い instant は履歴ルールで表示が揺れることがあります。
JDK / tzdata
Java の ZoneId(Asia/Tokyo 等)は JRE の tzdata 依存。古い JDK とブラウザ表示がずれるときはバージョンと instant を確認。
よくある使い方
API・ログ
JSON/nginx の epoch を読みやすい時刻に — 障害対応。
JWT exp
exp(秒)と「現在時刻」で TTL と clock skew を切り分け。
32 位 legacy
2,147,483,647 付近 — Y2038 監査。
DB/CSV
INT epoch 列や数値 time の CSV を目視確認。
よくある質問
- Unix 時間をオンライン変換するには?
- 秒またはミリ秒を貼って変換 — 大きさで単位推定。「現在時刻」で skew 確認。
- 閏秒は含む?
- いいえ。1 日 86400 秒固定。閏秒境界は原子時 UTC と ±1 秒あり得ます。
- 2038 年問題は?
- 32 位 signed 秒は 2038-01-19 03:14:07 UTC 付近で overflow。64 位/Date 型へ。
- Java と表示が違う?
- Java は tzdata で Asia/Tokyo 等を解釈。ブラウザは OS ロケール。古い夏時間 instant や JDK 版差。
- 10 桁と 13 桁?
- 10≈秒、13≈ミリ秒。数値の桁数で自動判断。
- ローカル時刻から epoch へ?
- ページの日時入力(あれば)で秒/ミリ秒生成 — ロケール書式に従います。
epoch 例
0纪元 — 1970-01-01T00:00:00Z86400纪元から 1 日36001 時間170000000010 桁秒の例1700000000000同 instant の 13 桁 ms