[tz] Europe/Tiraspol problem

Yoshito Umaoka yoshito_umaoka at us.ibm.com
Fri May 19 21:20:30 UTC 2023


Dear all,

I was looking at some Unicode ICU test failure on Ubuntu related to time zone.

ICU utilizes TZ database including backward file. In backward file, Europe/Tiraspol is defined as a link of Europe/Chisinau. So the actual rule is coming from Europe/Chisinau as below (2023c)

# Zone   NAME                   STDOFF RULES    FORMAT               [UNTIL]
Zone      Europe/Chisinau               1:55:20 -              LMT       1880
                                                1:55       -               CMT       1918 Feb 15 # Chisinau MT
                                                1:44:24 -               BMT       1931 Jul 24 # Bucharest MT
                                                2:00       Romania               EE%sT   1940 Aug 15
                                                2:00       1:00       EEST       1941 Jul 17
                                                1:00       C-Eur     CE%sT   1944 Aug 24
                                                3:00       Russia    MSK/MSD            1990 May  6  2:00
                                                2:00       Russia    EE%sT   1992
                                                2:00       E-Eur      EE%sT   1997
# See Romania commentary for the guessed 1997 transition to EU rules.
                                                2:00       Moldova               EE%sT

I found behavior of Europe/Tiraspol is different on Ubuntu. When I set Europe/Tiraspol as the system time zone, the default offset set to timezone variable becomes -10800 (3 hour ahead of UTC). However, Europe/Chisinau above shows it should be -7200 (2 hour ahead of UTC) at this moment. (POSIX timezone variable should store “standard offset”, not counting daylight adjustment).

On Ubuntu, when I set Europe/Tiraspol as system time zone, -10800 is set to timezone variable. However, when I set Europe/Chisinau, it changes to -7200. Then I realized Ubuntu is using backzone file, which contains different rule.

In backzone file, Europe/Tiraspol is defined as below (2023c)

# Moldova / Transnistria
Zone      Europe/Tiraspol 1:58:32 -               LMT       1880
                                                1:55       -               CMT       1918 Feb 15 # Chisinau MT
                                                1:44:24 -               BMT       1931 Jul 24 # Bucharest MT
                                                2:00       Romania               EE%sT   1940 Aug 15
                                                2:00       1:00       EEST       1941 Jul 17
                                                1:00       C-Eur     CE%sT   1944 Aug 24
                                                3:00       Russia    MSK/MSD            1991 Mar 31  2:00
                                                2:00       Russia    EE%sT   1992 Jan 19  2:00
                                                3:00       Russia    MSK/MSD

I understand backzone was created for preserving zone definition of some locations which only differs pre-1970 date, and these data might not be reliable. In reality, I think most of TZ database consumer still rely on either backward or backzone for backward compatibility. I think it’s problematic if these two files produce different results today.

I guess the zone definition in backzone file might be outdated, and Tiraspol is actually UTC+2/+3.

-Yoshito
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mm.icann.org/pipermail/tz/attachments/20230519/3a088cd1/attachment.html>


More information about the tz mailing list