A. To fix the UTC / local time difference between Ubuntu and Windows from Ubuntu by making Ubuntu use local time.
Before proceeding, note that according to the Ubuntu wiki, "the advantage of having the hardware clock as UTC is that you don't need to change the hardware clock when moving between timezones or when Daylight Savings Time (DST) begins or ends as UTC does not have DST or timezone offsets". So this is not recommended and if you can, you should use method B., and fix this from Windows.
For Ubuntu 16.04 and newer, run the following command (thanks to Erwinson Pagtalunan for the update!):
timedatectl set-local-rtc 1
You can then check if Ubuntu uses local time, you can then use the following command:
timedatectl
Which should display the following "RTC in local TZ: yes". A warning will also be displayed. Here's the full command output:$ timedatectl
Local time: Lu 2016-04-25 12:18:22 EEST
Universal time: Lu 2016-04-25 09:18:22 UTC
RTC time: Lu 2016-04-25 12:18:22
Time zone: Europe/Bucharest (EEST, +0300)
Network time on: yes
NTP synchronized: no
RTC in local TZ: yes
Warning: The system is configured to read the RTC time in the local time zone.
This mode can not 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'.