The upstream IANA tzdata file format is very restrictive and cannot change and reflect country codes correctly, across correct historical dates.
From "europe" file:
Zone Europe/Simferopol 2:16:24 - LMT 1880
2:16 - SMT 1924 May 2 # Simferopol Mean T
2:00 - EET 1930 Jun 21
3:00 - MSK 1941 Nov
1:00 C-Eur CE%sT 1944 Apr 13
3:00 Russia MSK/MSD 1990
3:00 - MSK 1990 Jul 1 2:00
2:00 - EET 1992
# Central Crimea used Moscow time 1994/1997.
#
# From Paul Eggert (2006-03-22):
# The _Economist_ (1994-05-28, p 45) reports that central Crimea switched
# from Kiev to Moscow time sometime after the January 1994 elections.
# Shanks (1999) says "date of change uncertain", but implies that it happened
# sometime between the 1994 DST switches. Shanks & Pottenger simply say
# 1994-09-25 03:00, but that can't be right. For now, guess it
# changed in May.
2:00 E-Eur EE%sT 1994 May
# From IATA SSIM (1994/1997), which also says that Kerch is still like Kiev.
3:00 E-Eur MSK/MSD 1996 Mar 31 0:00s
3:00 1:00 MSD 1996 Oct 27 3:00s
# IATA SSIM (1997-09) says Crimea switched to EET/EEST.
# Assume it happened in March by not changing the clocks.
3:00 Russia MSK/MSD 1997
3:00 - MSK 1997 Mar lastSun 1:00u
# From Alexander Krivenyshev (2014-03-17):
# time change at 2:00 (2am) on March 30, 2014
# https://vz.ru/news/2014/3/17/677464.html
# From Paul Eggert (2014-03-30):
# Simferopol and Sevastopol reportedly changed their central town clocks
# late the previous day, but this appears to have been ceremonial
# and the discrepancies are small enough to not worry about.
2:00 EU EE%sT 2014 Mar 30 2:00
4:00 - MSK 2014 Oct 26 2:00s
3:00 - MSK
The above defines which timezone was used when in Crimea.
But the mapping from Europe/Simferopol => country code [UA,RU] as appropriate for a given time period is not possible in the zone.tab file. Hence it currently stayed with:
./zone.tab:UA +4457+03406 Europe/Simferopol Crimea
There is a newer format in zone1970.tab file which says:
./zone1970.tab:RU,UA +4457+03406 Europe/Simferopol Crimea
But that is not helpful, as it lists two countries. And it still doesn't map country codes to the correct time periods.
It almost feels like we either need a new country code for Crimea to explain that depending which year one is in, it should be one or the other country code. Or we need to extend the zore1970.tab format similar to the file format of europe format such that country codes can be specified for every relevant time period.
So to get where you want to be, IANA needs to create a new tzdata format and for everyone to switch to it. I guess that would need to be requested via Discussions mailing list at IANA - see https://www.iana.org/time-zones
There is nothing in particular that Ubuntu can do to fix tzdata. As disagreement across other users of tzdata across the network can introduce interoperability bugs.
My only recommendation is to use Europe/Kiev or Europe/Moscow zones, which have the correct country code mappings for the most recent decades.
The upstream IANA tzdata file format is very restrictive and cannot change and reflect country codes correctly, across correct historical dates.
From "europe" file: /vz.ru/ news/2014/ 3/17/677464. html
Zone Europe/Simferopol 2:16:24 - LMT 1880
2:16 - SMT 1924 May 2 # Simferopol Mean T
2:00 - EET 1930 Jun 21
3:00 - MSK 1941 Nov
1:00 C-Eur CE%sT 1944 Apr 13
3:00 Russia MSK/MSD 1990
3:00 - MSK 1990 Jul 1 2:00
2:00 - EET 1992
# Central Crimea used Moscow time 1994/1997.
#
# From Paul Eggert (2006-03-22):
# The _Economist_ (1994-05-28, p 45) reports that central Crimea switched
# from Kiev to Moscow time sometime after the January 1994 elections.
# Shanks (1999) says "date of change uncertain", but implies that it happened
# sometime between the 1994 DST switches. Shanks & Pottenger simply say
# 1994-09-25 03:00, but that can't be right. For now, guess it
# changed in May.
2:00 E-Eur EE%sT 1994 May
# From IATA SSIM (1994/1997), which also says that Kerch is still like Kiev.
3:00 E-Eur MSK/MSD 1996 Mar 31 0:00s
3:00 1:00 MSD 1996 Oct 27 3:00s
# IATA SSIM (1997-09) says Crimea switched to EET/EEST.
# Assume it happened in March by not changing the clocks.
3:00 Russia MSK/MSD 1997
3:00 - MSK 1997 Mar lastSun 1:00u
# From Alexander Krivenyshev (2014-03-17):
# time change at 2:00 (2am) on March 30, 2014
# https:/
# From Paul Eggert (2014-03-30):
# Simferopol and Sevastopol reportedly changed their central town clocks
# late the previous day, but this appears to have been ceremonial
# and the discrepancies are small enough to not worry about.
2:00 EU EE%sT 2014 Mar 30 2:00
4:00 - MSK 2014 Oct 26 2:00s
3:00 - MSK
The above defines which timezone was used when in Crimea.
But the mapping from Europe/Simferopol => country code [UA,RU] as appropriate for a given time period is not possible in the zone.tab file. Hence it currently stayed with:
./zone.tab:UA +4457+03406 Europe/Simferopol Crimea
There is a newer format in zone1970.tab file which says: tab:RU, UA +4457+03406 Europe/Simferopol Crimea
./zone1970.
But that is not helpful, as it lists two countries. And it still doesn't map country codes to the correct time periods.
It almost feels like we either need a new country code for Crimea to explain that depending which year one is in, it should be one or the other country code. Or we need to extend the zore1970.tab format similar to the file format of europe format such that country codes can be specified for every relevant time period.
So to get where you want to be, IANA needs to create a new tzdata format and for everyone to switch to it. I guess that would need to be requested via Discussions mailing list at IANA - see https:/ /www.iana. org/time- zones
There is nothing in particular that Ubuntu can do to fix tzdata. As disagreement across other users of tzdata across the network can introduce interoperability bugs.
My only recommendation is to use Europe/Kiev or Europe/Moscow zones, which have the correct country code mappings for the most recent decades.