105

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?

binki
  • 627
  • 1
  • 9
  • 20
Dylan
  • 1,635
  • 2
  • 12
  • 15

2 Answers2

124

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.

ljrk
  • 2,009
  • 1
  • 14
  • 17
  • Thank you, though this does not resolve the problem (it sounds like you've tried the same as me) it's helpful to know someone else has this working in Windows 10. – Dylan Sep 20 '15 at 23:33
  • @Dylan Yep. The only though I have (if you did it really the same) is that they might have deactivated this feature on the Home Editions or similar. Using Enterprise here. But otherwise I have no idea. – ljrk Sep 20 '15 at 23:38
  • 6
    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
  • 1
    @j-a I could imagine that DWORD works most of the time but that the actual value is a QWORD, so there *might* be problems using DWORD if something isn't initialized properly or such – ljrk Sep 23 '16 at 20:19
  • 14
    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
  • 13
    @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
  • 1
    the .reg file worked for me, Windows 10 Enterprise (64 bit, but with the DWORD key as posted). – Brian Minton Nov 19 '16 at 22:29
  • 3
    I had to disable internet time updating but could reactivate it afterwards, and now it seems to work fine in either case – Tobias Kienzler Jan 07 '17 at 19:50
  • 13
    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 06 '17 at 10:32
  • To view this in Powershell: `Get-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Control\TimeZoneInformation` and to change `Set-ItemProperty HKLM:\SYSTEM\CurrentControlSet\Control\TimeZoneInformation -Name RealTimeIsUniversal -Type DWORD -Value 1`. For me, on Windows 10 version 21H2 (build 19044.1503), a DWORD works fine. – j0057 Jan 26 '22 at 10:51
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.

  • 9
    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 '20 at 12:51
  • @Pirindolo please explain where the time comes from if windows doesn't get it from the hardware clock when booting – Daniel Alder May 05 '23 at 16:11