如何同步你的時鐘
裝置時鐘不準時,時間戳記、兩步驟驗證碼、行事曆提醒與安全連線都可能出問題。開啟自動校時,一分鐘之內就能解決。
正在檢查你的時鐘…
目前顯示 Windows 的說明。不是你的裝置?請在上方選擇。
Windows 11 與 10
- 在工作列的時鐘上按右鍵,選擇調整日期和時間。(或開啟設定 › 時間與語言 › 日期和時間。)
- 開啟自動設定時間。
- 按立即同步。旁邊的時間應會更新為「剛剛」。
- 確認時區正確 — 時區設錯看起來就像時鐘整點整點地偏掉。
如果「立即同步」失敗
以系統管理員身分開啟命令提示字元或 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.com 或 pool.ntp.org,再按立即更新。
如果同步完全失敗,值得一試;但它很少能解釋很小的誤差:公共時間伺服器彼此的一致性在幾毫秒之內,因此誤差達到明顯零點幾秒的時鐘並不是被伺服器誤導的。
macOS
- 開啟蘋果選單 › 系統設定。
- 進入一般 › 日期與時間。
- 開啟自動設定日期與時間。來源應顯示
time.apple.com。 - 確認根據目前所在位置自動設定時區已開啟。
在 macOS Monterey 及更早版本中,路徑為系統偏好設定 › 日期與時間;請先按鎖頭圖示解鎖。
從終端機強制重新同步
sudo sntp -sS time.apple.com
iPhone 與 iPad
- 開啟設定 › 一般 › 日期與時間。
- 開啟自動設定。
- 若該項呈灰色,請查看設定 › 螢幕使用時間 › 內容與隱私權限制 — 日期與時間的變更可能在那裡被封鎖。
- 還是不對?把飛航模式開關一次,或重新啟動裝置,強制它重新取得網路時間。
iOS 從行動網路或 Wi-Fi 取得時間,因此長時間離線的裝置重新連上後可能需要一點時間。
Android
- 開啟設定 › 系統 › 日期與時間。三星裝置上是設定 › 一般管理 › 日期與時間。
- 開啟自動設定時間(某些版本稱為使用網路提供的時間)。
- 同時開啟自動設定時區。
- 如果該選項已開啟但時鐘仍不對,關掉再開啟一次以強制更新。
Linux
多數現代發行版使用 systemd-timesyncd。啟用網路時間並檢查結果:
sudo timedatectl set-ntp true
timedatectl status
看看是否有 System clock synchronized: yes。要強制執行:
sudo systemctl restart systemd-timesyncd
如果你使用 chrony
sudo chronyc makestep
chronyc tracking
如果你使用 ntpd
sudo ntpd -gq
ChromeOS
- ChromeOS 會自動設定時間且無法手動設定,因此時鐘不對幾乎都是時區選錯了。
- 開啟設定 › 進階 › 日期和時間。
- 把時區設為從清單中選擇並選定你的地區,或讓它使用你的所在位置。
- 若仍然不對,登出後再登入,或重新啟動 Chromebook。
準確的時鐘為何重要
登入與兩步驟驗證
驗證器的動態碼是由目前時間推算而來。時鐘誤差超過大約 30 秒,這些驗證碼就會失效。
安全連線
憑證只在兩個日期之間有效,所以時鐘嚴重偏掉會讓完全正常的網站跳出「你的連線不是私人連線」的警告。
會議與提醒
行事曆提醒、計時器與排程工作都以本機時鐘為準,因此會跟著一起跑掉。