GPS Time Converter

GPS 轉 Unix 時間戳轉換器

把 GPS 轉換為 Unix 時間。精確公式與大數支援。輸出:秒、毫秒、ISO 8601 與可讀格式。

自 1980-01-06 以來的秒數(無閏秒)

目前時間 — GPS 時間 (自 GPS 紀元以來的秒數)
Unix 時間戳(秒)

什麼是 GPS 時間?

GPS 時間是一個連續時間尺度,始於 1980 年 1 月 6 日 00:00:00 UTC,與 UTC 不同,它從不插入閏秒。因此 GPS 時間已領先於 UTC;自 2017 年起,差值為 18 秒,並在下一次閏秒宣布前保持不變。

  • 紀元:1980-01-06 00:00:00 UTC
  • 無閏秒——GPS 是 SI 秒的連續計數
  • GPS − UTC = 18 秒(目前,自 2017-01-01 起)
  • 常表示為 GPS 週號 + 週內秒數

如何將 GPS 時間轉換為 Unix 時間戳記

Unix 紀元(1970)與 GPS 紀元(1980)之間相差 315,964,800 秒。加上這個偏移,再減去目前的閏秒差,使結果落在 UTC 上。

  • Unix seconds = GPS + 315964800 − 18
  • 範例:1384035218 → 1700000000 → 2023-11-14 22:13:20 UTC
  • 反向:GPS = Unix seconds − 315964800 + 18
  • 本轉換器套用目前的 18 秒偏移

閏秒與精度

閏秒偏移在歷史上並非恆定:1980 年為 0,已增長到 18。用今天的 18 秒值去轉換例如 2005 年(當時偏移為 13)的 GPS 時間會引入小誤差。對於高精度的歷史工作,請套用該 GPS 時間當時有效的閏秒數。對於當下的轉換,18 秒偏移是正確的。

  • 偏移歷史:0 秒(1980)→ 13 秒(2006)→ 16 秒(2012)→ 17 秒(2015)→ 18 秒(2017)
  • GPS 週翻轉(1024 週)也可能擾亂基於週的解析
  • 接收機通常已經輸出 UTC;原始 GPS 時間主要出現在 RINEX 和星曆資料中

相關時間戳記格式轉換器

GPS 週號與閏秒歷史

處理原始 GPS 時間的開發者會遇到兩件事:

  • GPS 週翻轉:GPS 週號欄位為 10 位(1024 週 ≈ 19.7 年)。它在 2019-04-06 翻轉;下次翻轉在 2038-11
  • 閏秒歷史:GPS−UTC 在 1980 年為 0,2006 年為 13,2012 年為 16,2015 年為 17,2017-01-01 起為 18。硬編碼 18 僅對近期日期有效
  • TAI(國際原子時)比 UTC 快 37 秒(GPS 的 18 個閏秒加 19 個歷史調整)
  • RINEX(Receiver Independent Exchange Format)標頭日期是 GPS 時間,而非 UTC
  • 接收機的 PPS(每秒脈衝)訊號對齊到 GPS 秒,而非 UTC 秒

FAQ

什麼是 GPS 紀元?
GPS 時間從 1980 年 1 月 6 日 00:00:00 UTC 開始。
為什麼 GPS 時間比 UTC 快?
GPS 時間不包含閏秒,而 UTC 包含。自 1980 年以來,UTC 已添加 18 個閏秒,因此 GPS 目前快 18 秒。
如何把 GPS 時間轉換為 Unix 時間?
加上 315,964,800 秒(1970 → 1980 的差距),並減去目前 18 秒的閏秒偏移,即可得到一個 UTC 的 Unix 時間戳記。