透過 MCP 連接 →

輸入計算

預設為 UTC+9(日本時間)。落後於 UTC 的時區請填入負值。

數學公式

廣告

結果

UNIX 時間
1,749,913,200
自 1970-01-01 00:00:00 UTC 起算的秒數
定義 POSIX 時間(不計閏秒)
紀元起點 1970-01-01 00:00:00 UTC

什麼是 UNIX 時間?

UNIX 時間(又稱 UNIX 時間戳或 POSIX 時間)是指自 UNIX 紀元(1970-01-01 00:00:00 UTC)以來所經過的總秒數。它以單一整數來表示某個時間點,是一種跨語言、跨平台的通用標準,廣泛應用於記錄檔(log)、資料庫、API 與各種程式開發之中。UNIX 時間不計入閏秒——每一天一律視為剛好 86,400 秒。

展示 UNIX 紀元起點以及向前累計秒數的時間軸
UNIX 時間統計自紀元 1970-01-01 00:00:00 UTC 起經過的秒數。

計算器使用方法

請依照當地時鐘所顯示的數字,輸入日期(年、月、日)與時間(時、分、秒)。接著在「與 UTC 的時差」欄位中,填入該當地時間所屬時區相對於 UTC 的偏移小時數。例如:日本為 +9、印度為 +5.5、美國太平洋標準時間(PST)則為 -8。預設值為 +9(日本時間)。若時、分、秒留空,系統會自動以 0 處理。

公式說明

計算時,會先以「days-from-civil」演算法(由 Howard Hinnant 提出)將日期轉換為天數。此演算法能正確計算任何格里曆日期自紀元起算的天數,包含閏年以及 1970 年以前的日期。接著將天數乘以 86,400,再加上時、分、秒,得到當地時間自 1970-01-01 00:00:00 起算的秒數。最後再減去 UTC 時差(小時數 × 3600),即可將結果換算為 UTC 基準。

$$\begin{gathered} t = 86400 \cdot D + 3600\,\text{Hour} + 60\,\text{Minute} + \text{Second} - 3600\,\text{UTC Offset} \\[1.5em] \text{where}\quad \left\{ \begin{aligned} D &= \text{days from } 1970\text{-}01\text{-}01 \text{ to the chosen date} \\ \text{date} &= \left(\text{Year},\ \text{Month},\ \text{Day}\right) \end{aligned} \right. \end{gathered}$$
將日期和時間拆分為天、時、分、秒以及 UTC 偏移調整的示意圖
此公式將天、時、分、秒相加,再減去 UTC 偏移量。

實際範例

以 2025-06-15 00:00:00、時差 +9 為例:daysSinceEpoch = 20254,因此 localSeconds = \(20254 \times 86400 = 1{,}749{,}945{,}600\)。再減去 \(9 \times 3600 = 32{,}400\),得出 UNIX 時間為 1,749,913,200,相當於 2025-06-14 15:00:00 UTC。

常見問題

為什麼正時差所得的時間戳比我預期的還小?因為當地時間若領先 UTC,對應的其實是較早的 UTC 時刻;因此相較於把同樣的時鐘讀數直接當成 UTC,其 UNIX 值會比較小。

可以處理 1970 年以前的日期嗎?可以——結果只是會變成負數。例如 1969-12-31 23:59:59 UTC 即為 \(-1\)。

計算結果有包含閏秒嗎?沒有。本工具遵循標準的 POSIX 定義,每一天一律視為剛好 86,400 秒。

最後更新: