Recently my Windows 8.1 computer has not been keeping time. At first I thought it was the CMOS battery but since my computer is always on and set to update with the internet it should be able to keep time.
If I go to Change Date and Time Settings –> Internet Time –> Change Settings –> and Update it will then display the right time. However, after an arbitrary amount of time it will change to a random time such as from 9:20AM to 1:05PM. Since the minutes are also off I think it is not a timezone problem. But what could the problem be?
UPDATE: Output of W32tm /query /configuration
EventLogFlags: 2 (Local) AnnounceFlags: 10 (Local) TimeJumpAuditOffset: 28800 (Local) MinPollInterval: 10 (Local) MaxPollInterval: 15 (Local) MaxNegPhaseCorrection: 54000 (Local) MaxPosPhaseCorrection: 54000 (Local) MaxAllowedPhaseOffset: 1 (Local) FrequencyCorrectRate: 4 (Local) PollAdjustFactor: 5 (Local) LargePhaseOffset: 50000000 (Local) SpikeWatchPeriod: 900 (Local) LocalClockDispersion: 10 (Local) HoldPeriod: 5 (Local) PhaseCorrectRate: 1 (Local) UpdateInterval: 360000 (Local) [TimeProviders] NtpClient (Local) DllName: C:\WINDOWS\system32\w32time.dll (Local) Enabled: 1 (Local) InputProvider: 1 (Local) AllowNonstandardModeCombinations: 1 (Local) ResolvePeerBackoffMinutes: 15 (Local) ResolvePeerBackoffMaxTimes: 7 (Local) CompatibilityFlags: 2147483648 (Local) EventLogFlags: 1 (Local) LargeSampleSkew: 3 (Local) SpecialPollInterval: 604800 (Local) Type: NTP (Local) NtpServer: time.windows.com,0x9 (Local) NtpServer (Local) DllName: C:\WINDOWS\system32\w32time.dll (Local) Enabled: 0 (Local) InputProvider: 0 (Local) VMICTimeProvider (Local) DllName: C:\WINDOWS\System32\vmictimeprovider.dll (Local) Enabled: 0 (Local) InputProvider: 1 (Local)
UPDATE It turns out that replacing the CMOS/RTC battery was the solution but why the NTP servers could not keep the time correct? I guess the interval at which they update the time is not very frequent?