認識 Unix 時間戳記與可讀日期
這個轉換工具的作用
Unix 時間戳記記錄的是從 Unix 紀元(協調世界時 1970 年 1 月 1 日凌晨零時)起經過的秒數。它是單一整數,用來儲存某個瞬間既精簡又不會有歧義,但光看數字無法一眼看出是什麼時間。這個工具在兩個方向上填補了這道落差:貼上像 1700000000 這樣的值,就會得到對應的日期與時間;輸入日期,就會得到它的時間戳記。輸入自動偵測會自行判斷你輸入的是數字還是日期,因此你幾乎不必特別指定。
輸入的同時,詳細資訊面板會顯示偵測到的輸入類型、採用的單位以及算出的瞬間,讓你能夠核對結果,而不是照單全收。
什麼時候使用
時間戳記在軟體中無所不在:紀錄檔的每一行、資料庫的欄位、JWT 的到期時間(exp)、API 回應以及 cron 紀錄,往往都把時間存成紀元整數。當你要查明權杖為何過期、或某個事件實際上是何時發生時,把這個整數換算成真正的日期,是最快弄懂的方法。
反方向也同樣常見。如果 API 在 from/to 查詢中需要時間戳記,或測試需要一個固定的紀元值,你可以輸入可讀的日期,再把整數直接複製出來。
範例:一次轉換
以 1700000000 為例。當成秒來解讀,就是協調世界時 2023 年 11 月 14 日 22:13:20。把時區切換到首爾(KST),同一個瞬間會顯示為 2023 年 11 月 15 日 07:13:20——瞬間本身沒有移動,改變的只是掛鐘上的標示。按下「目前時間」會填入當下的紀元值,再加以轉換,就能確認工具與你的系統時鐘是否一致。
格式注意事項與邊界情況
最容易踩到的陷阱,是把秒和毫秒搞混。JavaScript 的 Date.now() 和許多 Web API 回傳的是毫秒(現今為 13 位數),而 Unix 系列工具與資料庫通常使用秒(10 位數)。用錯單位解讀,結果會偏差約 50 年,因此當自動偵測不明確時,請明確指定單位。輸出可以採用適合機器間交換的 ISO 8601(2023-11-14T22:13:20Z),也可以用易讀的當地格式。另外別忘了,時間戳記是以協調世界時(UTC)為基準固定下來的:你看到的日期取決於所選的時區,而不是這個數字的來源。