什麼是 Unix 時間戳?
Unix 時間戳(Unix timestamp / epoch time)是「從 1970-01-01 00:00:00 UTC 起算經過的秒數」,又稱POSIX 時間。1970 年由貝爾實驗室 Ken Thompson、Dennis Ritchie 等人設計 Unix 時選定為時間原點,沿用至今。後端、API、資料庫、log 檔最常用這種表示法,因為它與時區無關(永遠以 UTC 起算),整數比對快,儲存只要 4 或 8 個 bytes, 完全沒有「2026-06-22 是哪個格式」這種解析歧義。
常見使用情境
- JWT token:
iat(簽發時間)、exp(過期時間)、nbf(生效時間)都用 Unix 秒 - API response 時間欄位:許多 REST / GraphQL API 回傳
created_at: 1700000000而非 ISO 字串,節省 byte - Server log 解析:log 行首常以時間戳開頭,貼進來換成可讀時間
- Cookie / Cache TTL 計算:算「現在 + 3600 秒」是哪個時間點
- Cron job 排程驗證:debug 排程時對照 server 時鐘是否正確
- 檔名時間戳:
backup-1700000000.tar.gz這種命名,轉回人類時間
秒 vs 毫秒怎麼分?
- 秒(10 位數):Unix 系統呼叫、PHP
time()、Gotime.Now().Unix()、Linuxdate +%s、JWT 預設 - 毫秒(13 位數):JavaScript
Date.now()、JavaSystem.currentTimeMillis()、Kotlin、Android - 微秒 / 奈秒(16 / 19 位數):PostgreSQL、高精度 tracing 工具(OpenTelemetry)才會用
- 本工具自動偵測長度,不必手動切換
常見坑:把毫秒當秒丟給 new Date(ts) 在 JavaScript 中只會差 1000 倍,看起來像 「年份是 55000+」這種離譜結果。看到 13 位數時記得確認一下。
Unix 時間戳 vs ISO 8601
- Unix 時間戳:例
1750579200。優:整數、快、無歧義;劣:人類讀不出來,需工具轉換 - ISO 8601:例
2026-06-22T10:00:00+08:00。優:人類可讀、含時區資訊;劣:字串較長,需解析 - 實務:機器之間(資料庫、API、log)用 Unix; UI、設定檔、文件,跟人溝通時用 ISO 8601
2038 年問題(Y2K38)
32-bit 有號整數的最大值是 2,147,483,647,對應到 Unix 時間就是 2038-01-19 03:14:07 UTC,再加 1 秒就溢位變成負數(1901 年)。這就是「Y2K38 問題」。
現代主流系統(Linux 5.6+、macOS、Windows、64-bit 手機)都已改用 64-bit 整數,可撐到約西元 2920 億年,人類滅絕都不會遇到。 但仍存在風險的是:嵌入式裝置(IoT、車載系統、舊 router)、舊版資料庫 schema 用 INT(11) 而非 BIGINT,以及 2038 年之前未更新的老舊軟體。 本工具基於 JavaScript Number(53-bit 精度),可安全處理到年份 285616。
常見問題
時間戳要不要含時區?
Unix 時間戳本質就是UTC 秒數,不需要也不能附時區。需要顯示給某地區使用者時,再依該使用者的時區把秒數轉成本地時間。 這種「儲存 UTC、顯示時轉本地」是業界標準做法。
負數時間戳代表什麼?
1970-01-01 之前的時間。例如 -1000000000 是 1938-04-24。多數現代語言支援,但古老 C 函式庫或某些資料庫可能不接受。
為什麼我從資料庫拿到的時間是 1970?
通常是欄位被填了 0(或 NULL 被轉成 0)導致顯示成 epoch 起點。檢查資料寫入邏輯,確認時間欄位是否正確設置。
相關工具
- 時區換算
輸入時間自動換算 30+ 世界主要城市的當地時間,含台北、東京、首爾、紐約、洛杉磯、倫敦、巴黎等。
- 倒數計時 / 生日年齡
輸入目標日期看還剩幾天、幾小時、幾分鐘、幾秒,也能反過來輸入生日算現在幾歲(精確到年月日)。
- JWT Decode 解碼
貼上 JSON Web Token 立即解碼 header 與 payload,過期時間(exp…
- 年齡計算機
輸入生日精確計算年齡(幾年、幾月、幾日、總天數、總時數)與下次生日倒數。
- 工作天計算
輸入起訖日期,算出總天數、工作日、放假日與遇到哪些國定假日。
- UUID 產生器
產生 UUID v4(隨機)與 UUID v7(含時間戳排序)通用唯一識別碼,支援批量產生與一鍵複製。
