I have a number of virtualized DCs on several different HyperV servers, and they were all showing the wrong time. In order to fix this issue, I had to Powershell into each HyperV server and run the following commands:
w32tm /config /manualpeerlist:”0.pool.ntp.org 1.pool.ntp.org” /syncfromflags:MANUAL
I also ran those commands on my DCs just to be sure, although I believe they are setup to use their host’s time. These commands set the server to use the NTP servers in the list (0 and 1 at pool.ntp.org was what I used, you can use whichever servers you prefer), then they restart the time service, and then force it to resync the time. When using this, all the servers should use the same set of NTP servers to maintain consistency.
Client PCs that also had the wrong time can be forced to update by restarting the “Windows Time” service.