Ubuntu maintains the hardware clock (RTC, real time clock) in universal time (UTC) by default while Windows maintains the clock in local time, thus causing time conflicts between Ubuntu and Windows.
To fix it, either set Ubuntu to maintain RTC in local time or make Windows uses UTC.
1. Disable UTC and use Local Time in Ubuntu:
# in command prompt execute the following line:
timedatectl set-local-rtc 1 --adjust-system-clock
# to check just run
timedatectl
2. Make MicroSoft Windows uses UTC:
# run command prompt as admin and execute the following line:
Reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_QWORD /d 1