Unix 時間戳轉換器(Unix 時間 ↔ 日期)

輸入時間戳,就會換算成 UTC 日期和本機時區時間(台灣、香港為 UTC+8);輸入日期,則會換算成時間戳。系統會自動判斷 10 位數(秒)和 13 位數(毫秒)。

目前 Unix 時間戳(秒)
-
毫秒:-

時間戳 → 日期

單位

日期 → 時間戳

秒(10 位數)
-
毫秒(13 位數)
-

Unix 時間戳轉換器使用方法

  1. 頁面最上方會即時顯示目前時間的時間戳,按一下就能複製。
  2. 在時間戳 → 日期欄位輸入數字,就會顯示 UTC、ISO 8601、本機時區的日期和時間,以及距離現在多久。
  3. 單位會依位數自動判斷;如有需要,也可以手動選擇「秒」或「毫秒」。
  4. 在日期 → 時間戳選好日期、時間和時區,就會算出秒和毫秒的值。在台灣或香港換算當地時間時,時區請選本機時區。

什麼是 Unix 時間戳(epoch time)?

Unix 時間戳是從 1970 年 1 月 1 日 0 時 0 分 0 秒(UTC)起算,到某個時間點經過的秒數。同一時刻在全世界的時間戳都相同,不受時區影響,所以伺服器紀錄檔、資料庫和 API 回應經常用它來儲存日期。

  • 0 → 1970-01-01 08:00:00(台灣/香港時間)
  • 1,000,000,000 → 2001-09-09 09:46:40(台灣/香港時間)
  • 1,700,000,000 → 2023-11-15 06:13:20(台灣/香港時間)

10 位數和 13 位數時間戳的差別

10 位數的時間戳以秒為單位,13 位數的則以毫秒(千分之一秒)為單位。Linux、PHP 和 Python 的 time() 通常回傳秒;JavaScript 的 Date.now() 和 Java 的 System.currentTimeMillis() 則回傳毫秒。毫秒值除以 1,000 就是秒值。

環境取得目前時間戳單位
JavaScriptDate.now()毫秒
Pythontime.time()秒(含小數)
JavaSystem.currentTimeMillis()毫秒
Linux Shelldate +%s秒
MySQLUNIX_TIMESTAMP()秒

把時間戳換算成台灣或香港時間

時間戳本身以 UTC 為準。台灣(CST)和香港(HKT)都比 UTC 快 8 小時,所以 UTC 時間加上 8 小時,就是當地時間。兩地目前都不實施夏令時間,一年四季都可以用 UTC+8 換算。

這個工具的時區選單預設為 UTC+9(日本/韓國時間)。在台灣或香港使用時,請選擇本機時區;只要裝置時區設定正確,就會以 UTC+8 換算。換算結果表格中,「本機時區」那一列顯示的就是當地時間。

在 Excel 或 Google 試算表中,可以使用 =(A1/86400)+DATE(1970,1,1)+8/24:先把時間戳除以一天的秒數(86,400),再加上 1970 年 1 月 1 日和 8 小時,就能換算成台灣或香港時間。儲存格格式請設為日期時間。

什麼是 2038 年問題?

有些舊系統用有號 32 位元整數儲存時間戳。這個數值的上限是 2,147,483,647,相當於台灣/香港時間 2038 年 1 月 19 日 11:14:07。一旦超過上限,數值會溢位變成負數,日期就會跳回 1901 年。這就是2038 年問題(Y2K38)。現代的作業系統和程式語言大多改用 64 位元整數,因此不會受到影響。

常見問題

怎麼分辨時間戳是秒還是毫秒?
以現在的時間來說,10 位數的是秒,13 位數的是毫秒。這個轉換器會把 1,000 億以上的數值自動判斷為毫秒。
換算出來的時間差了 8 小時,怎麼辦?
通常是因為把 UTC 時間當成了當地時間。台灣和香港都比 UTC 快 8 小時,請查看結果表格中「本機時區」那一列。
換算出來的時間差了 1 小時,怎麼辦?
時區選單預設為 UTC+9(日本/韓國時間),比台灣和香港快 1 小時。換算日期時,請把時區改成「本機時區」。
1970 年以前的日期也能換算嗎?
可以。1970 年以前的日期會以負數時間戳表示,例如 -86400 就是 1969 年 12 月 31 日 0 時(UTC)。
會計入閏秒嗎?
依照定義,Unix 時間不計入閏秒,所以這個轉換器也不考慮閏秒,一律以一天 86,400 秒計算。

最後更新:2026-10-06