toolfree

Unix 時間戳轉換

將 Unix 時間戳轉換為日期,或反向轉換。支援秒與毫秒、同時顯示 UTC 與本地時間,全部在瀏覽器內完成。

在你的瀏覽器中執行

UTC

-

你的瀏覽器

-

依 IP 判斷

-
查詢中…

任選時區

-

什麼是 Unix 時間戳

Unix 時間戳記錄的是自 1970-01-01 00:00:00 UTC(稱為 epoch,紀元)以來經過的秒數。 它本身不帶時區資訊:同一個瞬間在世界任何地方的時間戳都相同。正因如此,系統內部多半以 這種方式儲存時間,只在顯示給人看時才轉換成當地曆法。

秒還是毫秒?

這是「日期跑到 1970 年」這類錯誤最常見的來源。各平台採用的單位並不一致:

來源單位2025 年的時間戳長這樣
Unix date +%s、PostgreSQL、Go、Python time.time()1754438400
JavaScript Date.now()、Java System.currentTimeMillis()毫秒1754438400000

最快的判斷方式是看位數。以現在的時間而言,秒為單位是 10 位數,毫秒為單位則是 13 位數。把毫秒值餵給預期收到秒的程式,日期會落在西元 57000 年左右;反過來則會停在 1970 年 1 月。

取得目前的時間戳

date +%s                      # shell,秒
Date.now()                    // 毫秒
Math.floor(Date.now() / 1000) // 秒
import time; int(time.time())
SELECT EXTRACT(EPOCH FROM NOW());  -- PostgreSQL

2038 年問題

若系統以 有號 32 位元整數 儲存時間戳,數值會在 2147483647 溢位,也就是 2038-01-19 03:14:07 UTC。屆時計數器翻轉為負數,日期會跳回 1901 年。現代 64 位元平台 不受影響,但這個問題仍會出現在嵌入式韌體、較舊的檔案格式,以及宣告為 32 位元的資料庫 欄位中。

關於時區

時間戳本身是絕對的,但你把它轉換成的日期不是。本工具同時顯示 UTC 與瀏覽器的本地時間; 只要你的時區偏移不為零,兩者就會不同,有時甚至差整整一天。當你拿轉換結果和另一個系統 比對時,請先確認雙方使用同一個時區,再判斷是不是真的有錯。

資料不會離開這台裝置

轉換只是在你的瀏覽器裡做算術,你輸入的內容不會傳送到任何地方。