透過 MCP 連接 →

輸入計算

數學公式

廣告

結果

UTC Date & Time (ISO 8601)
2023-11-14T22:13:20Z
協調世界時(UTC)
日期(UTC) 2023-11-14
時間(UTC) 22:13:20
Epoch 秒數 1,700,000,000
2023
11
14
22
13
20

什麼是 epoch 毫秒時間戳?

Unix epoch 時間戳用來計算自 1970-01-01 00:00:00 UTC(也就是所謂的「紀元起點 epoch」)以來經過的時間。許多程式語言與 API(例如 JavaScript 的 Date.now()、Java 的 System.currentTimeMillis(),以及大量 JSON 資料)都是以毫秒而非秒來表示這個數值。這個轉換工具能把這串看不懂的數字,轉成清楚易讀的 UTC 日期與時間。

展示從 1970 年開始的 Unix 紀元以及毫秒不斷遞增的時間軸
紀元毫秒數表示自 Unix 紀元(1970-01-01T00:00:00Z)以來經過的時間。

如何使用這個轉換器

把你的毫秒時間戳貼上或輸入到欄位中,然後送出即可。工具會先將數值除以 1000 取得完整的秒數,再從 epoch 起點開始對應到日曆上的時間。你會得到完整的 ISO 8601 字串(例如 2023-11-14T22:13:20Z),以及拆解後的年、月、日、時、分、秒——全部以 UTC 呈現,因此結果不會受到你所在時區的影響。

計算公式說明

整個轉換只有兩個簡單步驟。首先,\(\text{seconds} = \left\lfloor \text{ms} / 1000 \right\rfloor\) 會去掉不足一秒的餘數;接著,\(\text{date} = \text{epoch} + \text{seconds}\) 把這些秒數加到 1970 年 1 月 1 日的午夜上。閏年、各月份天數不同等日曆規則,系統都會自動處理。

$$\text{Date}_{\text{UTC}} = \text{Epoch}_{1970}\;+\;\frac{\text{Epoch Time (ms)}}{1000}\ \text{seconds}$$

$$\begin{gathered} \text{Date}_{\text{UTC}} = \text{Epoch}_{1970} + t_{s}\ \text{seconds} \\[1.5em] \text{where}\quad \left\{ \begin{aligned} t_{s} &= \left\lfloor \dfrac{\text{Epoch Time (ms)}}{1000} \right\rfloor \\ \text{Epoch}_{1970} &= \text{1970-01-01T00:00:00Z} \end{aligned} \right. \end{gathered}$$

將毫秒值除以 1000 轉換為日期與時間的示意圖
將毫秒數除以 1000 得到秒數,對應一個 UTC 日期與時間。

實際範例

1,700,000,000,000 毫秒為例。除以 1000 後得到 1,700,000,000 秒。把它加到 epoch 起點,就會落在 2023-11-14T22:13:20Z——也就是 2023 年 11 月 14 日 22:13:20(UTC)。

$$\left\lfloor \frac{1{,}700{,}000{,}000{,}000}{1000} \right\rfloor = 1{,}700{,}000{,}000\ \text{seconds} \;\Rightarrow\; \text{2023-11-14T22:13:20Z}$$

常見問題

結果是我所在地的當地時間嗎?不是。為了避免混淆,輸出一律採用 UTC(協調世界時)。如果你需要當地時間,請自行加上所在時區的時差。例如台灣為 UTC+8,需在結果上加 8 小時。

如果我手上的是秒、不是毫秒怎麼辦?請先把以秒為單位的時間戳乘以 1000 再輸入,或直接在後面補上三個零即可。

為什麼有時換算出來的日期會落在很遙遠的未來或 1970 年附近?把以「秒」為單位的數值當成毫秒輸入時,結果會接近 1970 年;而把本來就是「毫秒」的數值又多補了幾個零,結果就會跑到很遠的未來。記得隨時確認你的單位確實是毫秒。

最後更新: