$ timedatectl 
      Local time: Fri 2015-01-30 11:04:51 CET       correct UTC+1
  Universal time: Fri 2015-01-30 10:04:51 UTC       correct UTC
        Timezone: Europe/Budapest (CET, +0100)      correct
     NTP enabled: n/a
NTP synchronized: no
 RTC in local TZ: no                                ? UTC then ?
      DST active: no
 Last DST change: DST ended at
                  Sun 2014-10-26 02:59:59 CEST
                  Sun 2014-10-26 02:00:00 CET
 Next DST change: DST begins (the clock jumps one hour forward) at
                  Sun 2015-03-29 01:59:59 CET
                  Sun 2015-03-29 03:00:00 CEST
$ sudo hwclock
Fri Jan 30 12:05:09 2015  -0.406771 seconds         ??????? UTC+2 ??????
$ date
Fri Jan 30 11:08:30 CET 2015                        correct

The documentation of hwclock says that it always displays local time, no matter whether RTC is set according to local or universal time.

What could cause hwclock to display UTC+2 as the local time?

I originally thought that hwclock "believes" the RTC to be set according to UTC, hence it displays +1, since I am in central Europe, but the RTC is actually in local time (+1 already) hence it disaplays +1+1=+2. But timedatectl above "says" that RTC is not local. So what is going on?


$ sudo hwclock --debug
hwclock from util-linux 2.20.1
Using /dev interface to clock.
Assuming hardware clock is kept in UTC time.
Waiting for clock tick...
...got clock tick
Time read from Hardware Clock: 2015/01/30 11:38:38
Hw clock time : 2015/01/30 11:38:38 = 1422617918 seconds since 1969
Fri Jan 30 12:38:38 2015  -0.516275 seconds

So it "thinks" RTC is UTC but is actually local. Hence timedatectl is the culprit?

  • Just for the record, on my system, timedatectl and date behave as you describe, but hwclock displays local time, like it should. What does sudo hwclock --debug give you?
    – Jos
    Jan 30 '15 at 10:33
  • Your hardware clock is actually an hour ahead. (I'm in the same time zone as you.) UTC time should have been 10:38, not 11:38. So you are correct to say that is not consistent with timedatectl.
    – Jos
    Jan 30 '15 at 10:48
  1. Go to your BIOS and set the BIOS clock to UTC and set the time correctly there!
  2. In Windows, set HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation\RealTimeIsUniversal" to dword:00000001
  3. Still in Windows, go to Control Panel, Add/remove Sftware, Change windowssettings, add Windows Time server.
  4. In Ubuntu, sudo nano /etc/default/rcS Ctrl+W UTC= if the value is no, change to yes
  5. Still In Ubuntu follow the official instructions to install ntp
  6. sudo reboot

Problem gone!

Why Windows? Well, if your settings are off, I infer that you must be dual-booting and windows messing things up! Szívesen! ;-)

  • As you're a reputation 8 user: If this all works, don't forget to click the grey check-mark under the "0" at the left of this text, which means "yes, this answer is valid"! ;-)
    – Fabby
    Feb 1 '15 at 19:20
  • @EdiD: BIOS questions are off-topic here on Ask Ubuntu. Try downloading the BIOS manual for your machine and look there...
    – Fabby
    Feb 18 '16 at 10:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.