⏱️ Unix 時間戳轉換器
Unix 時間戳 ↔ 日期時間互轉,支援秒/毫秒、本地時區、UTC
12 個主要時區即時時間,每秒更新
Unix 時間戳 ↔ 日期時間互轉,支援秒/毫秒、本地時區、UTC
你可能想過:電腦怎麼知道「現在」是幾點?它又沒有眼睛看時鐘。
答案就是 Unix 時間戳(Unix Timestamp)——一個看似簡單,卻支撐了整個現代網路、資料庫、程式語言的時間系統。
Unix 時間戳 = 「從 1970 年 1 月 1 日 00:00:00 UTC 到現在,總共經過了幾秒」。
就是一個整數。例如 1793617174 代表 2026-11-02 18:59:34(台北時間)。
它不記錄「年、月、日、時、分、秒」,只記錄「一個巨大的秒數」。電腦最擅長處理整數,所以全世界都用這個方式來存時間。
這要回到 1960 年代末。貝爾實驗室(Bell Labs)在開發 Unix 作業系統時,需要一個「時間原點」來計算時間差。工程師們選了 1970 年 1 月 1 日 00:00:00 UTC 作為原點,這個時間被稱為 「Unix 紀元」(Unix Epoch)。
為什麼是這一天?沒有特別的科學原因,就是「剛好夠早、剛好整數、剛好是工程師方便計算的日子」。這個選擇後來被全世界的作業系統、程式語言、資料庫沿用,成為一個「不成文的國際標準」。
有趣的是,1970 年之前發生的事,Unix 時間戳會是負數。例如 1969-12-31 23:59:59 就是 -1。
你可能看過兩種時間戳:
| 類型 | 位數 | 範例 | 對應時間 |
|---|---|---|---|
| 秒級(秒) | 10 位數 | 1793617174 | 2026-11-02 18:59:34 |
| 毫秒級(毫秒) | 13 位數 | 1793617174000 | 2026-11-02 18:59:34.000 |
怎麼判斷?看位數:
本工具會自動判斷:輸入 10 位數當秒、13 位數當毫秒,並同時顯示兩種格式。
Unix 時間戳本身沒有時區概念,它只是一個絕對的秒數。同一個時間戳,在台北、東京、紐約、倫敦,顯示的「當地時間」都不一樣,但背後的秒數完全相同。
為了避免混亂,全世界用 UTC(協調世界時間,Coordinated Universal Time) 作為基準。台北是 UTC+8(比 UTC 快 8 小時),東京是 UTC+9,紐約是 UTC-5(比 UTC 慢 5 小時)。
本工具上方的「世界時鐘」會即時顯示 12 個主要時區的當前時間,讓你一眼看出差異。
⚠️ 這是 Unix 時間戳最大的隱憂,你一定要知道。
很多舊系統(例如 32 位元版本的 Linux、舊版 PHP、舊版 MySQL)使用 32 位元有號整數 來儲存時間戳。32 位元有號整數的最大值是 2,147,483,647,對應的時間是:
2038 年 1 月 19 日 03:14:07 UTC
超過這個時間,32 位元整數會「溢位」,變成負數,時間會跳回 1901 年。這就是著名的「2038 年問題」(Y2K38)。
現代系統大多已改用 64 位元整數,可以撐到 2,922 億年之後,所以新系統不用擔心。但舊系統、嵌入式裝置、舊資料庫仍可能有風險。
created_at)。Last-Modified、Cache-Control 都用時間戳。exp(過期時間)、iat(發行時間)都是時間戳。-1。1793617174,貼進來就知道是幾點。🦞 龍蝦總工程師的話:
「Unix 時間戳是現代網路的地基。你看不到它,但它支撐著你看的每一篇貼文、每一則訊息、每一筆交易。懂它,你就能讀懂系統的語言。」
本文由 🦞 龍蝦總工程師撰寫 · 2026-11-02 · 雅寶社區 AHPAL.COM