I cannot explain this any more clearly and it has literally driven me insane.
A few weeks ago my netbook's Windows 8 system clock started changing randomly while it was powered on and being used, so after battling with it for days I gave in and changed the CMOS battery even though I was highly sceptical about that being the issue. No surprises; it kept happening. If I'm not mistaken, a dead CMOS battery has nothing to do with the running system time after boot, so it simply can't be due to the CMOS battery being flat, not that it should be flat considering the netbook is only 3 years old if I have to put a number on it. I recently got the netbook's left-click button repaired and the repair store replaced the CMOS battery yet again with the exact same results.
Prior to this incident, I was using Windows mainly on my laptop. About 3 months ago I bought myself a beefy desktop computer and simply removed the SSD from my laptop and put it in my desktop to use permanently. It booted fine; I just had to install graphics drivers. I haven't had a single issue with that system until this morning when I bought a new SSD and did a clean install of Windows 8.1 RTM on it. When I logged in after the installation, the clock was off by an hour. I thought it was just a one-off or something to do with incorrect daylight savings (although I've never experienced a clock error like that in my life; computer clocks have always 'just worked' for me in all prior cases) so I synced it with the Internet and it was fine. Then I went to bed and slept, leaving the computer on at all times as I always do.
When I woke up, the clock was off by around six hours! I could not believe that it looked like I was seeing the exact same problem my netbook's been having for a long time. I synced it with the Internet and decided to reboot to check the time in the BIOS. Surprisingly enough, the BIOS showed the incorrect time as it was just before I synced it previously. That didn't make much sense to me since I thought manually changing the Windows time would update the BIOS clock as well. I set the correct time manually in the BIOS and booted back into Windows 8.1. I've been using this PC for a few hours now and it was fine until a few minutes ago when the time went backwards by 40 minutes or so. WTF?
What the hell is going on? I have two Windows 8/8.1 devices randomly changing their time while they are running! Can someone please shed some light on what's happening here because this is something I admittedly took for granted and now I can't seem to have the right time anywhere! Arghhhhhhh.
P.S. My time zone is correct. To make the whole situation even more weird, I have the Windows Time service on my netbook set to manual and stopped, which means I have no NTP client running on that machine (I disabled it.) So WHY is the time still being changed by strange intervals? Since writing this post it has set the time back by exactly 6 hours. That is not clock drift. It usually changes by somewhat smaller values like dozens of minutes or a couple of hours at a time, which still isn't clock drift; more like clock jump. On the contrary, my PC with the fresh install has the Windows Time service set to automatic and is running, but still has this same issue.
Edit: Two days later, it's still happening. My PC's clock went back by 2 hours and 19 minutes. Here is what I found in the event log, with the most recent event being at bottom (reverse from event log).
1. 27/09/2013 11:00:55am The system time has changed to 2013-09-26T23:00:55.729000000Z from 2013-09-26T23:00:55.729452500Z. Change Reason: An application or system component changed the time. 2. 27/09/2013 11:00:55am The time service has not synchronized the system time for 86400 seconds because none of the time service providers provided a usable time stamp. The time service will not update the local system time until it is able to synchronize with a time source. If the local system is configured to act as a time server for clients, it will stop advertising as a time source to clients. The time service will continue to retry and sync time with its time sources. Check system event log for other W32time events for more details. Run 'w32tm /resync' to force an instant time synchronization. 3. 27/09/2013 11:00:55am The system time has changed to 2013-09-26T23:00:55.500000000Z from 2013-09-26T23:19:01.095060700Z. Change Reason: System time synchronized with the hardware clock. 4. 27/09/2013 12:00:00pm The system uptime is 154744 seconds. 5. 27/09/2013 11:00:55am The system time has changed to 2013-09-26T23:00:55.500000000Z from 2013-09-27T00:00:55.506659800Z. Change Reason: System time synchronized with the hardware clock. 6. 27/09/2013 12:00:00pm The system uptime is 158344 seconds. 7. 27/09/2013 11:00:55am The system time has changed to 2013-09-26T23:00:55.500000000Z from 2013-09-27T00:00:55.503286900Z. Change Reason: System time synchronized with the hardware clock.plication or system component changed the time.
The first event looks like a genuine skew by a few microseconds. Then a strange error message. Then it sets the time back by 19 minutes for some reason. Then an uptime count. Then it sets the time back by an hour. Then an uptime count because it thought it was 12pm again which is when it gives uptime counts. Then it sets the time back by an hour AGAIN.
This is a clean install with a legitimate product key, ISO from MSDN. It's safe to say that I have no idea what's going on but at least I have log proof that matches up exactly to the time jumps mentioned.