To simplify this whole deal:
If you have an incorrect time issue in Linux on a dual boot with Windows system do this:
Check your Linux system:
$ timedatectl
Local time: Tue 2018-08-21 13:11:23 CDT
Universal time: Tue 2018-08-21 18:11:23 UTC
RTC time: Tue 2018-08-21 18:11:23
Time zone: US/Central (CDT, -0500)
System clock synchronized: no
systemd-timesyncd.service active: yes
RTC in local TZ: no
We are concerned about that last line only. If it says ‘RTC in local TZ: yes’ then you are set correctly and there is some other problem. But more than likely you will see just what I have posted and RTC in local TZ is set to no. To correct:
$ sudo timedatectl set-local-rtc 1 --adjust-system-clock
You will be asked for root/administrator password, enter that and the command will run. Then to check run ‘timedatectl’ again and you should see:
$ timedatectl
Local time: Tue 2018-08-21 18:15:28 CDT
Universal time: Tue 2018-08-21 23:15:28 UTC
RTC time: Tue 2018-08-21 18:15:28
Time zone: US/Central (CDT, -0500)
System clock synchronized: no
systemd-timesyncd.service active: yes
RTC in local TZ: yes
Warning: The system is configured to read the RTC time in the local time zone.
This mode cannot be fully supported. It will create various problems
with time zone changes and daylight saving time adjustments. The RTC
time is never updated, it relies on external facilities to maintain it.
If at all possible, use RTC in UTC by calling
'timedatectl set-local-rtc 0'.
That is what you want. You’re done. That’s it that’s all there is to correcting this. (That warning is just something we have to live with in order to work with the inferior operating system).
Post-edit: This is of course assuming you already have correct time in Windows. If not, correct that and then go back to your Linux system and repeat the above steps.