如何同步你的時鐘

裝置時鐘不準時,時間戳記、兩步驟驗證碼、行事曆提醒與安全連線都可能出問題。開啟自動校時,一分鐘之內就能解決。

正在檢查你的時鐘…

Windows 11 與 10

  1. 在工作列的時鐘上按右鍵,選擇調整日期和時間。(或開啟設定 › 時間與語言 › 日期和時間。)
  2. 開啟自動設定時間
  3. 立即同步。旁邊的時間應會更新為「剛剛」。
  4. 確認時區正確 — 時區設錯看起來就像時鐘整點整點地偏掉。

如果「立即同步」失敗

系統管理員身分開啟命令提示字元或 PowerShell,執行:

w32tm /resync

如果顯示服務未執行,請先啟動它:

net start w32time
w32tm /resync

如果「立即同步」成功,但誤差仍不到一秒

Windows 只有在誤差大於 MaxAllowedPhaseOffset(預設一秒)時才會直接跳轉時鐘。更小的誤差改為緩慢調整走時快慢來修正,而這只在 Windows Time 服務執行期間才會持續。該服務是觸發式啟動的,因此 Windows 會在同步後不久再度停止它,把修正丟在半途。這就是為什麼立即同步每次都回報成功,零點幾秒的誤差卻長期存在。

系統管理員身分在 PowerShell 中讓服務保持執行,並允許 Windows 直接修正不到一秒的誤差:

Set-Service W32Time -StartupType Automatic
Start-Service W32Time
Set-ItemProperty 'HKLM:\SYSTEM\CurrentControlSet\Services\W32Time\Config' -Name MaxAllowedPhaseOffset -Value 0 -Type DWord
w32tm /config /update
Restart-Service W32Time
w32tm /resync /force

不必離開主控台就能量測結果 — 時差應以毫秒而非十分之一秒回報:

w32tm /stripchart /computer:time.cloudflare.com /samples:5 /dataonly

MaxAllowedPhaseOffset 設為 0,也代表時鐘走快時 Windows 可以把它往回撥,少數對時間敏感的應用程式並不喜歡這一點。若想避免,可將該值保留為 1,只把服務設為自動啟動 — 漸進修正仍然有效,只是要花上幾個小時才吸收得完整整一秒。

更常同步,避免再次跑掉

放著不管的 PC 時鐘通常每天快或慢一秒以上,而 Windows 11 每 32768 秒(九個多小時)才檢查一次。改為每小時輪詢,可讓兩次檢查之間的誤差小得多:

Set-ItemProperty 'HKLM:\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient' -Name SpecialPollInterval -Value 3600 -Type DWord
Restart-Service W32Time

這個間隔只在所設定的伺服器帶有 0x1 旗標時才生效。Windows 預設的 time.windows.com,0x9 已包含它,因此通常不必再改 — 可用 w32tm /query /source 以及下方的網際網路時間索引標籤確認。

改用其他時間伺服器

控制台 › 時鐘和區域 › 日期和時間 › 網際網路時間索引標籤 › 變更設定。把伺服器設為 time.windows.compool.ntp.org,再按立即更新

如果同步完全失敗,值得一試;但它很少能解釋很小的誤差:公共時間伺服器彼此的一致性在幾毫秒之內,因此誤差達到明顯零點幾秒的時鐘並不是被伺服器誤導的。

同步完成後,請按本頁頂端讀數中的重新檢查。量測是在頁面載入時進行的,因此剛剛修好的時鐘要重新檢查後才會反映出來。一秒以上的誤差應該會消失;剩下零點幾秒是正常的,那需要的是次秒級修正,而不是再同步一次。

準確的時鐘為何重要

登入與兩步驟驗證

驗證器的動態碼是由目前時間推算而來。時鐘誤差超過大約 30 秒,這些驗證碼就會失效。

安全連線

憑證只在兩個日期之間有效,所以時鐘嚴重偏掉會讓完全正常的網站跳出「你的連線不是私人連線」的警告。

會議與提醒

行事曆提醒、計時器與排程工作都以本機時鐘為準,因此會跟著一起跑掉。