Ubuntu 18.04 cannot set hardware clock as local time

An alternative to the method suggested by @PrahladYeri is that instead of brute-changing the RTC time from the BIOS, boot into Windows and let Windows automatically overite the RTC.

sudo timedatectl set-local-rtc 1 --adjust-system-clock

Now boot into Windows and in "Change the Date and Time", disable and then again enable "Set time automatically". This should overwrite the local time on the RTC.


The command suggested by @Jens works, but adjusting the clock back to local RTC isn't quite easy, you need to pass through multiple hoops!

sudo timedatectl set-local-rtc 1 --adjust-system-clock

Running the above command did set the local-rtc flag to 1, but it also changed the time that appears on my desktop from IST (Indian Standard Time) to UTC. In other words, the above command didn't "adjust" or made changes to the hardware or BIOS clock, all it did was displayed whatever the BIOS time was (which was still UTC) and consider it the local time and show it on desktop. But I didn't want that since I don't live in the UTC timezone, so I went to XFCE Settings Manager and changed it to +5.5 hours, so that my clock now reflects IST. But alas, the XFCE Settings manager doesn't seem to be in sync with the timedatectl. It did change my desktop time to IST, but pushed back the BIOS clock by 5.5 hours, so it again went to UTC after a reboot. Finally, the only way to resolve this issue was to get into BIOS and change that clock to IST. So the instructions to set the clock in local time are:

  1. Run sudo timedatectl set-local-rtc 1 --adjust-system-clock.
  2. Restart computer, go to your BIOS settings.
  3. Set time to your local timezone, save and reboot.