指南 / 精度

Unix 秒與毫秒的差異

比較 10 位與 13 位時間戳,理解單位辨識、精度、儲存範圍和常見轉換錯誤。

相差一千倍

秒統計紀元後經過的整秒,毫秒統計千分之一秒,所以同一時刻的毫秒值是秒值的 1,000 倍。例如,1700000000 s 與 1700000000000 ms 都對應 2023-11-14T22:13:20Z。

為什麼位數只是提示?

當代正數通常是 10 位秒或 13 位毫秒,但接近紀元的值較短,負數帶符號,未來值會增加。可靠程式應接受明確單位,或至少向使用者顯示自動辨識結果。

精度與安全整數

JavaScript Number 只能在 Number.MAX_SAFE_INTEGER 以內精確表示整數。本站換算 epoch 單位時使用 BigInt,避免 16 位或 19 位輸入在計算毫秒日期前就被捨入。最終日期顯示仍受瀏覽器毫秒精度與日期範圍限制。

排查一千倍錯誤

若日期落在 1970 年附近,常見原因是把秒當成毫秒;若結果遙遠到超出範圍,則可能把毫秒當成秒。先核對欄位文件,再手動選擇單位,比只看位數更可靠。

四種單位表示同一時刻

單位數值相對於秒的倍數
秒17000000001
毫秒17000000000001,000
微秒17000000000000001,000,000
奈秒17000000000000000001,000,000,000

這四個數值都對應 2023-11-14T22:13:20Z。乘以 1,000 是更換單位,並非改變時刻,也不會增加真實測量精度。可在轉換工具逐一輸入並選擇對應單位。

為何結果跑到 1970 年或遙遠的未來?

現代事件顯示為 1970 年 1 月,常見原因是將秒按毫秒解讀;出現幾萬年後的日期,則可能將毫秒當成秒。應先核對來源系統的欄位文件,不要先改數值。10 位與 13 位只適合輔助辨識現代常見資料。

例如 1000 秒是 1970-01-01 00:16:40 UTC,1000 毫秒是當天 00:00:01,兩者都合法。處理單位一致的檔案時,可在批次轉換器固定單位,避免歷史數值被誤判。

精度損失與負數取整

1700000000123 毫秒比整秒多出 123 毫秒,轉為整數秒後這部分會丟失。本工具按單位區間的起點向下取整,因此 -1 奈秒屬於毫秒 -1,而非毫秒零。

微秒與奈秒輸出保留原始整數精度;ISO 日期顯示到毫秒,有更細的餘數時會提示。資料庫稽核或精確往返轉換應保留原始整數,只存可讀日期無法還原毫秒以下的細節。

標準與執行環境參考

工具 / 01—06

更多時間戳工具

每個工具都從明確的輸入開始,提供明確的結果。