透過 MCP 連接 →

輸入計算

數學公式

廣告

結果

UTC Date & Time
2023-11-14 22:13:20
UTC(世界協調時間)
22
13
20
星期(0=週日) 2
自 1970-01-01 起算的天數 19,675

什麼是 Unix 時間戳轉換器?

Unix 時間戳(又稱 epoch time,紀元時間)指的是自 1970 年 1 月 1 日 00:00:00 UTC 起所經過的總秒數,且不計入閏秒。這個工具能把這串整數,轉換成人類看得懂的 UTC 曆法日期與時間,並附上當天是星期幾。

從 1970 年紀元到後續日期的秒數計數數線
Unix 時間戳記錄自紀元(1970 年 1 月 1 日 UTC 午夜)以來經過的秒數。

使用方法

把以「秒」為單位的 Unix 時間戳貼上或直接輸入(例如 1700000000),按下送出即可。工具會回傳 UTC 的年、月、日、時、分、秒,以及對應的星期,還有自紀元起算的累積天數。

計算公式說明

首先將秒數拆解:天數 \(\text{days} = \left\lfloor \frac{\text{ts}}{86400} \right\rfloor\),餘數則代表當天的時刻。

$$ \text{Days} = \left\lfloor \frac{\text{Timestamp}}{86400} \right\rfloor, \qquad s = \text{Timestamp} \bmod 86400 $$ $$ \text{where}\quad \left\{ \begin{aligned} \text{Hour} &= \left\lfloor \frac{s}{3600} \right\rfloor \\ \text{Minute} &= \left\lfloor \frac{s \bmod 3600}{60} \right\rfloor \\ \text{Second} &= s \bmod 60 \\ (\text{Y},\text{M},\text{D}) &= \text{civil}(\text{Days}) \end{aligned} \right. $$

接著把天數對應到曆法日期時,採用 Howard Hinnant 知名的整數「days_from_civil」反函式演算法——它把一年的起點移到三月,讓閏日落在年末,藉此避開各種特殊情況的判斷。星期則以 \((\text{days} + 4) \bmod 7\) 求得,因為 1970 年 1 月 1 日剛好是星期四。

被拆分為整天數和當天剩餘秒數的時間戳
將時間戳除以 86400,即可把整天數與當天剩餘的秒數分開。

實際範例

以 \(\text{ts} = 1{,}700{,}000{,}000\) 為例:天數 \(\text{days} = 19675\),餘數 \(= 72800\) 秒 \(= 22{:}13{:}20\)。曆法日期演算法將第 19675 天對應到 2023-11-14。因此結果為 2023-11-14 22:13:20 UTC。

常見問題

會考慮時區嗎?不會——輸出一律為 UTC。若要換算成當地時間,請自行加上你所在地區的 UTC 時差(以台灣為例,需加 8 小時,即 UTC+8)。

那毫秒怎麼辦?請只輸入「秒」。如果你手上的是毫秒時間戳,請先除以 1000。

為什麼不處理閏秒?因為 Unix 時間在定義上本來就忽略閏秒,所以本轉換器同樣不予計入。

最後更新: