I have a domain controller that is a Hyper-V guest. This has pros and cons that we will not cover in the post. In this one instance, the DC was continually setting the time incorrectly. In order to change this I had to login to the Hyper-V host and clear the Time Synchronization checkbox under Management|Integration Services. Once that was cleared I issued the command w32tm /query /source to see what source it was pulling the time from. Prior to clearing the checkbox, the source was VM IC Time Synchronization Provider and after it was set to 1.us.pool.ntp.org. Next I forced a refresh using w32tm /resync /force command and the time was set correctly. Going forward, any machine that has joined the domain will get the time from the DC and thus the correct time.
Under The Desk provides a well written guide on syncing a server with Internet Time Servers.