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.