Unix 時間戳是什麼?怎麼轉換成日期時間

一串看不出意義的數字 1735689600 是一個合法時間,1735689600000 也是。兩者相差 1000 倍,肉眼看不出差別——這正是第一個最容易踩的坑。 它們都是 Unix 時間戳:從 1970-01-01T00:00:00Z(epoch,紀元時間)起算經過的時間。資料庫存它、API 回傳它、日誌裡全是它,但人腦讀不了它。 秒還是毫秒? 知道規則之後就很簡單: 位數 單位 大致對應 10 位 秒 2001 → 2286 年 13 位 毫秒 同樣日期,數值 ×1000 JavaScript 的 Date.now() 回傳毫秒,多數後端語言與 Unix 指令回傳秒。這個不一致是經典 bug:毫秒值除以 1000 會得到 1970 年附近的日期,秒值當成毫秒用也一樣會落到 1970 年。 Unix 時間戳轉換工具 會自動判斷位數,兩種都顯示。 為什麼轉換出來「不對」:時區 時間戳本身沒有時區,它表示的是一個絕對時刻;是你的呈現方式帶了時區。 2026-01-01T00:00:00Z(UTC)在台北是 2026-01-01 08:00:00 在紐約是 2025-12-31 19:00:00 所以當時間戳「顯示成前一天」,問題幾乎總是:少了 Z、缺了時區位移,或者伺服器用本機時間格式化、而用戶端用 UTC 理解。 轉換工具會把 ISO 8601(UTC) 與本機時間兩行並排顯示,差異一眼可見。 實務上的幾個場景 資料庫:存 UTC,依使用者時區呈現。存本機時間是少數幾個很難挽回的日期決策之一。 日誌:請求旁邊那個 10 位數字,基本上就是秒級 epoch 時間。 API:看欄位名稱——created_at、createdAt、timestamp 常常是 epoch 值,但單位不能靠猜,看位數。 ...

September 12, 2026 · 1 分鐘 · 157 字 · NavShelf Team