Bug 405288

Summary: Digital Clock shows incorrect time
Product: [Plasma] plasmashell Reporter: Fox <newsletterbox5>
Component: Digital Clock widgetAssignee: Plasma Bugs List <plasma-bugs>
Status: RESOLVED DOWNSTREAM    
Severity: normal CC: nate
Priority: NOR    
Version: 5.14.5   
Target Milestone: 1.0   
Platform: Debian testing   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Fox 2019-03-10 00:41:00 UTC
SUMMARY

I'm in EST(UTC-05:00) timezone. It's March 9th 2019 19:02 EST right now. My Digital Clock widget shows my time in EST. It shows it correctly.

However, I have added a Tokyo timezone (aka JST) in "Configure Digital Clock..." -> "Time Zones" -> "Tokyo", so that whenever I hover my mouse over the Digital Clock widget it shows a tooltip with the time in JST. The time in JST is incorrect. The Digital Clock widget shows that it's currently 10:02 in JST. It's currently 09:02 in JST though. I have double checked this online, also if you calculate the time difference between -5 and +9 timezones you will get 14, and 19:02 + 14h is 09:02, not 10:02.

There is a timezone switch happening in 7 or so hours, EST (UTC-05:00) changes to EDT (UTC-04:00) on March 10th 02:00 EST. However, JST is UTC+09:00 all year round. Perhaps there is some bug with time change happening? But even if the clock thought I was currently in EDT, which it shouldn't until the time actually changes in 7h but let's assume it does think so, 19:02 EDT would be 08:02 JST, not 10:02 JST, so something funky is going on.

Interestingly enough, if I add UTC timezone to the Digital Clock widget, it displays 00:02 UTC in the tooltip correctly. It still keeps displaying 10:02 JST though, even though JST is UTC+09:00 all year around, Japan doesn't change clocks to daylight savings.

My tzdata is up to date.


STEPS TO REPRODUCE
1. Set system time to March 9th 2019, 19:02 EST
2. Add UTC and Tokyo timezones to Digital Clock widget
3. Check UTC and JST clocks in Digital Clock widget's tool tip

OBSERVED RESULT
EST: 19:02:00
UTC: 00:02:00
JST: 10:02:00

EXPECTED RESULT
EST: 19:02:00
UTC: 00:02:00
JST: 09:02:00

SOFTWARE/OS VERSIONS
Linux: Debian Testing amd64, Linux 4.19.0-2
KDE Plasma Version: 5.14.5
KDE Frameworks Version: 5.54.0
Qt Version: 5.11.3

ADDITIONAL INFORMATION
Comment 1 Fox 2019-03-10 04:24:52 UTC
Okay, that's weird, now UTC is showing incorrect time too.

STEPS TO REPRODUCE
1. Set system time to March 9th 2019, 23:09 EST
2. Add UTC and Tokyo timezones to Digital Clock widget
3. Check UTC and JST clocks in Digital Clock widget's tool tip

OBSERVED RESULT
EST: 23:09:00
UTC: 05:09:00
JST: 14:09:00

EXPECTED RESULT
EST: 23:09:00
UTC: 04:09:00
JST: 13:09:00
Comment 2 Fox 2019-03-10 04:30:53 UTC
timedatectl shows UTC time correctly, Digital Clock widget doesn't.

There is also this warning about RTC clock. My RTC clock is in local timezone because that's what Windows expects, I dual-boot Windows on this machine from time to time.

$ timedatectl
               Local time: Sat 2019-03-09 23:27:50 EST
           Universal time: Sun 2019-03-10 04:27:50 UTC
                 RTC time: Sat 2019-03-09 23:27:50
                Time zone: America/New_York (EST, -0500)
System clock synchronized: no
              NTP service: active
          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'.
Comment 3 Fox 2019-03-10 10:01:19 UTC
It's 06:01 EDT now (EST changed to EDT) and all clocks show correct time now. I didn't mention that, but all previous days all 3 clocks were correct, it's only in the last 24 or so hours that they were messed up, my guess is that it's due to the EST -> EDT time change.

Right now the clocks are:
EST: 06:01:00
UTC: 10:01:00
JST: 19:01:00
Comment 4 Nate Graham 2019-03-17 14:59:28 UTC
ICU is responsible for providing this kind of timezone/DST information; please report to Debian.
Comment 5 Fox 2019-03-17 15:41:29 UTC
Alright, thanks.
Opened a bug report against Debian's ICU package at https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=924780 if you are interested in following this issue.