什麼是 Unix 時間戳記?
Unix 時間戳記(Unix Timestamp)是用一個數字來代表某一個確切的時間點。它計算的是從「Unix 紀元」起算所經過的秒數——也就是協調世界時(UTC)1970 年 1 月 1 日凌晨 00:00:00 之後的總秒數。由於它只是一個單純的整數,因此在地球上任何地方、任一瞬間都是相同的數值,這也讓它成為軟體、資料庫、記錄檔(log)與 API 之間儲存與交換時間的全球通用標準。
這個轉換器會把這串原始數字轉換成人類看得懂的日期與時間,除了顯示 UTC 之外,也一併列出紐約、倫敦、東京、雪梨等主要城市的對應時間,讓你一眼就能看出同一個瞬間在世界各地分別是幾點。
如何使用這個轉換器
- 在輸入欄位填入你的 Unix 時間戳記(例如 1700000000)。
- 確認你的數值是「秒」還是「毫秒」——大多數時間戳記是以秒為單位,但 JavaScript 與部分 API 會使用毫秒(13 位數,而非 10 位數)。
- 查看換算後的 UTC 日期與時間,再對照下方各時區的顯示結果。
換算公式說明
要把時間戳記轉成可讀的日期,只要把秒數加回到紀元起點即可:
日期 = 1970 年 1 月 1 日 00:00:00 UTC +(時間戳記秒數)
反過來,若要把某個當地時間換算回時間戳記,就是計算該時刻與紀元之間相隔的秒數。時區並不會改變時間戳記本身——它只會改變「同一個瞬間」被顯示出來的樣子。冬季時紐約為 UTC−5、倫敦為 UTC+0、東京為 UTC+9,雪梨則為 UTC+10,實施日光節約時間時則為 +11。(順帶一提,台灣標準時間為 UTC+8,全年不調整夏令時間。)
實際範例
以時間戳記 1700000000 為例。把這麼多秒數加到紀元起點,會得到 2023 年 11 月 14 日 22:13:20 UTC。同一個瞬間,在紐約是 17:13:20、在倫敦是 22:13:20,而在東京則已經是隔天早上的 07:13:20。
常見問題
為什麼我的時間戳記看起來大了約 1,000 倍?它很可能是以毫秒為單位。除以 1,000 就能換算成秒。
時間戳記會把時區計算進去嗎?不會。Unix 時間戳記永遠是以 UTC 為基準,畫面上顯示的各地時間,只是同一個世界瞬間的不同呈現方式而已。
什麼是「2038 年問題」?以 32 位元整數儲存時間戳記的系統,會在 2038 年 1 月 19 日發生溢位(overflow)。現代的 64 位元系統則完全沒有這個問題。