84

EDIT 2015-SEP-30:

Seems I actually ended up with localtime enabled in Linux somehow, probably as a consequence of a reinstall some time ago. I switched Linux to UTC and now my configuration seems to be working fine.


Related to Does Windows 7 support UTC as BIOS time? and Does Windows 8 support UTC as BIOS time?, does Windows 10?

I've successfully used the method recommended in those two questions in the past with Windows 7 but it doesn't seem to be working with Windows 10. I believe I had the same problem with Windows 8.1. I'm not sure about Windows 8.

I've tried a multitude of different configurations for date/time settings (from right clicking the clock and selecting "Adjust Date/Time). My current configuration is:

Set time automatically: On

Time Zone: (UTC-05:00) Eastern Time (US & Canada)

Adjust for daylight saving time automatically: On

I've also tried instructing it not to set time automatically (which I think I may have done in Windows 7?) and not adjusting for daylight savings time.

I've tried setting the registry value (from the linked questions) to a QWORD instead as recommended in https://wiki.archlinux.org/index.php/System_time#UTC_in_Windows but it still had no effect.

Has anyone had any success in using UTC time in Windows 10 and if so was it necessary to do anything differently compared to Windows 7?

  • Isn’t BIOS time be something related to the motherboard and not the OS loaded on it? – Valay_17 Apr 30 at 13:46
100

Yep, I had success. Don't forget disabling the "internet update" for the time!

I used the way described in the ArchWiki using a QWORD on a 64bit Win10. The NTP is done on Arch and not on Windows, but the latter isnt getting booted so often anyway.

Here's the .reg file:

RealTimeIsUniversal.reg

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation]
     "RealTimeIsUniversal"=hex(b):01,00,00,00,00,00,00,00

From ArchWiki: UTC in Windows

Using regedit, add a DWORD value with hexadecimal value 1 to the registry:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation\RealTimeIsUniversal

Alternatively, create a *.reg file (on the desktop) with the following content and double-click it to import it into registry:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation]
 "RealTimeIsUniversal"=dword:00000001

If the above appears to have no affect, and a 64-bit variant of Windows is being used, using a QWORD value instead of a DWORD value may resolve the issue.

| improve this answer | |
  • 4
    DWORD works fine also in 64 bit mode home edition. Also: note that ntpd may refuse to change if the time difference is too large (which it may be in case windows 10 already started writing to the hardware clock - if so, run ntpd as root ntpd -q). – j-a Sep 23 '16 at 20:00
  • 9
    Why does internet update have to be disabled? – gamen Nov 16 '16 at 16:27
  • 3
    @gamen Good question actually, but it seems that MS is using the internet time to sync with the hardware clock while ignoring the Registry setting, ie. setting the clock to your localtime while interpreting it as UTC. – ljrk Nov 16 '16 at 18:57
  • 10
    @larkey I thought I'd try it to see what happened, and it works so far - I'll re-post if this changes; multiple reboots, switching between OS:es. My system time is in UTC, the local time is UTC+1. Set Time Automatically and Adjust for daylight saving time automatically are On, Set zime zone automatically is Off, and the RealTimeIsUniversal registry key QWORD is set to 1. I'm on x86_64, Windows 10 Pro (Build 10586). It might also be worth mentioning that I'm not using a Microsoft time server. – gamen Nov 17 '16 at 11:48
  • 9
    Just a comment in the sense of an affirmation: I have the 64bit version of Win10 and the DWORD version did not work. The QWORD-way was the right one for me. I did not have to enable or disable any other option, btw. – henry May 6 '17 at 10:32
0

It is not necessary to hack the ms-windows registry (that I have done many times). The real problem is that ms-windows does not sync the clock at startup as Linux does. For myself the simplest solution was installing TimeSync from https://www.speed-soft.de/software/time_sync/details/download.php?language=en Sure, there are similar software you can use to make ms-windows sync time at startup as Linux does. It is your choice! Now both OS are happy! as they change the clock and do not need to be hacked.

| improve this answer | |
  • 1
    Be warned that if you go with this, in case the internet connection is down during the time you boot your operating system, the clock will be potentially incorrect. The hardware clock in your system is designed to contain approximately correct time. And as BIOS does not really support timezones, UTC is the only sensible time for the BIOS and Windows needs additional tweaks to support that. – Mikko Rantalainen Oct 22 at 12:51

Not the answer you're looking for? Browse other questions tagged or ask your own question.