[tz] [PROPOSED] Merge timezones that are alike since 1970

Guy Harris 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.

Preceding that:

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 mailing list