1. Configure the windows time service to update the time more frequently.
Control Panel -> Date and Time -> Internet Time tab.
Check the box "Synchronise with an internet time server" If no server is selected choose either "time.windows.com" or "pool.ntp.org".
This will automatically set the time once per week, which should keep your computer within a few seconds of the correct time. If you are running an important server you may need to set it more often. To do that you need to edit the registry.
NtpClient, and check the the value
SpecialPollInterval. This is in seconds.
The default is 604800, which is the number of seconds in a week. For daily time checks, choose 86400. Unless you have very special requirements you won't need more than daily. Four hours would be every 14400.
2: Configure the system to force-update the time on boot.
To do a force-update you need to run the following as administrator (or system):
SC START w32time task_started
So to force update on boot, you need to run that command as administrator. You can do that using Task Scheduler. To do this run the following as administrator:
schtasks /CREATE /TN "Set Time On Start" /SC ONSTART /RU SYSTEM /TR "SC START w32time task_started"