[tz] [PROPOSED] Merge timezones that are alike since 1970
gharris at sonic.net
Fri Jun 4 19:41:58 UTC 2021
On Jun 3, 2021, at 12:41 PM, Steffen Nurpmeso via tz <tz at iana.org> wrote:
> Derick Rethans wrote in
> <alpine.DEB.2.23.453.2106031721460.2842 at singlemalt.home.derickrethans.nl>:
>> FWIW, the issue here isn't about the naming of zones. It is about
>> removing historical data of one country, and replacing it by the
>> historical data from a different country.
> You only have a string, either from $TZ or some direct user
> selection. You link this string to a set of rules.
> It happens that if you move the mask of the rules back and forth,
> the number of paths through the set of rules grows or shrinks.
> As long as you can link name->rules, and, at the time the data is
> packaged, rules->name, everything is fine, is it?
> I have no idea how one could end up with Europe/Berlin when the
> initial TZ was Europe/Stockholm, really. (I have not looked into
> that for now quite a lot of years, too, however. But as i recall
> you have by-zone begin/end tuples into the packed data.)
You have the string Europe/Stockholm.
Prior to Paul's change, it referred to a tzdb region with the lines
Zone Europe/Stockholm 1:12:12 - LMT 1879 Jan 1
1:00:14 - SET 1900 Jan 1 # Swedish Time
1:00 - CET 1916 May 14 23:00
1:00 1:00 CEST 1916 Oct 1 1:00
1:00 - CET 1980
1:00 EU CE%sT
After Paul's change, it's an alias for Europe/Berlin:
Link Europe/Berlin Europe/Stockholm
which is a tzdb region with the lines
Zone Europe/Berlin 0:53:28 - LMT 1893 Apr
1:00 C-Eur CE%sT 1945 May 24 2:00
1:00 SovietZone CE%sT 1946
1:00 Germany CE%sT 1980
1:00 EU CE%sT
Post-1980, they're the same.
Obviously, LMT is different, but anybody who wants to know the offset from (proleptic) UTC for a given location before standard time was established in a region containing that location is best advised to use something other than the tzdb.
The C-Eur rules are (most comments elided, we all know where the find the source files):
# Older C-Eur rules are for convenience in the tables.
# From 1977 on, C-Eur differs from EU only in that C-Eur uses standard time.
Rule C-Eur 1916 only - Apr 30 23:00 1:00 S
Rule C-Eur 1916 only - Oct 1 1:00 0 -
Rule C-Eur 1917 1918 - Apr Mon>=15 2:00s 1:00 S
Rule C-Eur 1917 1918 - Sep Mon>=15 2:00s 0 -
Rule C-Eur 1940 only - Apr 1 2:00s 1:00 S
Rule C-Eur 1942 only - Nov 2 2:00s 0 -
Rule C-Eur 1943 only - Mar 29 2:00s 1:00 S
Rule C-Eur 1943 only - Oct 4 2:00s 0 -
Rule C-Eur 1944 1945 - Apr Mon>=1 2:00s 1:00 S
Rule C-Eur 1944 only - Oct 2 2:00s 0 -
Rule C-Eur 1945 only - Sep 16 2:00s 0 -
Rule C-Eur 1977 1980 - Apr Sun>=1 2:00s 1:00 S
Rule C-Eur 1977 only - Sep lastSun 2:00s 0 -
Rule C-Eur 1978 only - Oct 1 2:00s 0 -
Rule C-Eur 1979 1995 - Sep lastSun 2:00s 0 -
Rule C-Eur 1981 max - Mar lastSun 2:00s 1:00 S
Rule C-Eur 1996 max - Oct lastSun 2:00s 0 -
and the SovietZone rules are:
Rule SovietZone 1945 only - May 24 2:00 2:00 M # Midsummer
Rule SovietZone 1945 only - Sep 24 3:00 1:00 S
Rule SovietZone 1945 only - Nov 18 2:00s 0 -
and the Germany rules are:
Rule Germany 1946 only - Apr 14 2:00s 1:00 S
Rule Germany 1946 only - Oct 7 2:00s 0 -
Rule Germany 1947 1949 - Oct Sun>=1 2:00s 0 -
Rule Germany 1947 only - Apr 6 3:00s 1:00 S
Rule Germany 1947 only - May 11 2:00s 2:00 M
Rule Germany 1947 only - Jun 29 3:00 1:00 S
Rule Germany 1948 only - Apr 18 2:00s 1:00 S
Rule Germany 1949 only - Apr 10 2:00s 1:00 S
so, for at least some times prior to 1980, using "Europe/Stockholm" before the change results in no summer time changes and using "Europe/Stockholm" after the change results in whatever summer time changes took place in Germany.
It *looks* as if, after 1949, there were no such changes until 1980 when, apparently, both Sweden and Germany adopted the EU rules:
Rule EU 1977 1980 - Apr Sun>=1 1:00u 1:00 S
Rule EU 1977 only - Sep lastSun 1:00u 0 -
Rule EU 1978 only - Oct 1 1:00u 0 -
Rule EU 1979 1995 - Sep lastSun 1:00u 0 -
Rule EU 1981 max - Mar lastSun 1:00u 1:00 S
Rule EU 1996 max - Oct lastSun 1:00u 0 -
If so, then only pre-1949 times will convert differently; that's the "historical data" in question.
More information about the tz