I have a Surface Pro X that (I assume) is setting the hardware clock automatically via GPS, since it has a cell modem.
The problem, the hardware clock is being set to UTC, and when Windows reads this clock, it's setting it as local time.
I set the RealTimeIsUniversal registry key, but it seems to have not made any difference. If I look in Event Viewer, I can see that Windows seems to know that it should be accounting for a UTC hardware clock, however it doesn't seem to care.
The system time has changed to 2024-11-02T05:48:03.500000000Z from 2024-11-02T01:48:03.207569700Z.
Time Delta: 14400292 ms
Change Reason: System time synchronized with the hardware clock.
Process: '' (PID 4).
RTC time: 2024-11-02T05:48:03.500000000Z
Current time zone bias: 240
RTC time is in UTC: true
System time was based on RTC time: false
It sees that the RTC is set to 05:48, that the RTC is UTC, and still sets System time to 05:48.