I recently noticed the following (strange) behavior:
user@pc:~$ date Mi 21. Jun 12:03:10 CEST 2017 user@pc:~$ date +%Z CEST user@pc:~$ export TZ=`date +%Z` user@pc:~$ date Mi 21. Jun 10:03:30 CEST 2017 user@pc:~$ date +%Z CEST
Thus, after setting the TZ environment variable to the current system time zone, the clock is 2 hours delayed. It looks like UTC (CEST-2hours is UTC). If I now set TZ to other values, the clock remains unchanged:
user@pc:~$ export TZ=UTC user@pc:~$ date Mi 21. Jun 10:07:09 UTC 2017 user@pc:~$ export TZ=PDT user@pc:~$ date Mi 21. Jun 10:07:19 PDT 2017
However, when I set TZ to CEST-2, it works fine again. I am a bit confused
user@pc:~$ export TZ=CEST-2 user@pc:~$ date Mi 21. Jun 12:28:16 CEST 2017
I am working on xUbuntu 16.04 but this behavior is reproducible on a OpenSUSE 42.2 System.
It seems to me that a time zone "ABC+X" is always considered as "UTC+X" when there is no /usr/share/zoneinfo/ABC file (thanks DevilaN for the comment). The string "ABC" is than only inserted into the date string, which is printed out.
- Is the assumption described above correct?
- Why does
dateprint out a time zone abbreviation that is not supported (i.e. not available in /usr/share/zoneinfo)?