What could be causing Windows to randomly reset the system time to a random time?

My Windows 7 machine infuriates me. It cannot hold a date. At one point it all worked fine, but now it will decide that it needs to change the system time to a random time and date, either in the future or past. There seems to be no correlation or set interval of when it happens.

In attempt to remedy this, I have:

  • Correctly set the time in BIOS.
  • Replaced the motherboard battery with a new CR2032 (even checked it with a multimeter).
  • Tried disabling automatic internet synchronizing via "Date and Time" dialog.
  • Stopped, restarted, left disabled the Windows Time service.

Yet with all of these actions, the time will continue to change.

Also, the machine has OS X and Ubuntu partitions. It does not occur on either of those so I'm fairly certain it's not hardware related.

Any ideas?

Edit: This is a fairly old post now, but I thought it warranted an update. I never solved the problem. I ended up reinstalling Windows 7 and the problem went away (still had OS X and several linux partitions running just fine; also had the same hardware). Just another mystery of Windows, I suppose.


This problem is very frequent and can have many causes, not all of them are known.

You already did the obvious, which is replacing the on-board battery, so only unobvious reasons remain. Some I can think of are :

  1. Your time-server is bad, so change the one you are using by right-click on the clock / Adjust date/time / Internet Time / Change settings.
  2. Check the date/time of your router - sometimes this affects Windows.
  3. Reinstall Windows - this was the only solution for some people to undo the corruption.

Try using a linux livecd and see if the problem persists. If it does not, then you know its a problem isolated to Windows. If it does, then it points to faulty hardware.


It's possible the Windows Time Service has gotten confused. Run cmd.exe as an administrator (Start -> All programs -> Accessories -> Right click command prompt, then run as administrator) and type these commands to reregister and restart the service. I found some reports that it worked and some that it didn't on this particular problem.

net stop w32time 
w32tm /unregister 
w32tm /register 
net start w32time 
w32tm /resync

In some versions of windows, especially those sold abroad, if the license is not properly registered and windows thinks it might be a pirated copy, this is a common phenomenon. Check that you are using a properly licensed copy of windows. It was one among several "annoyances" that windows started to do, short of disabling itself, to encourage proper licensing by the user.