On Sat, Jun 17, 2023 at 08:20:53PM +0200, Anders Rosendahl via tz wrote:
Hello!
I'm developing an application using the JavaScript Intl API (which is relying on the IANA tz db) for converting between local time and UTC.
I started receiving error reports from users about wrong calculations (particularly from Denmark in the 1940's), and I discovered that in some cases daylight saving time was applied in a way not in accordance to historical facts.
I investigated the IANA tz database files and I discovered that a change has happened in version 2022b (in the file "europe"). Compared to the earlier version (2022a), 4 zones seem to have their rules removed and instead linked to Europe/Berlin:
Link Europe/Berlin Arctic/Longyearbyen Link Europe/Berlin Europe/Copenhagen Link Europe/Berlin Europe/Oslo Link Europe/Berlin Europe/Stockholm
This, evidently, is not correct, and will result in erroneous results for these zones.
Oh dear. This horse has been beaten to death and then resurrected for another turn, the trenches are very deep. Basically, IANA tz only cares about dates after 1970-01-01 and for that reason the maintainer have started merging zones that don't differ after that date but does still provide the data but it won't be included in the default builds (which is what everyone gets from their updates) Other people have, just like you, said that this is a bad move and this have lead to a fork of the project but I do not remember where that is located, this fork is used in at least some of the BSDs. My personal opinion is that the default IANA build should say nothing about dates before 1970-01-01 - it should, in particular, not claim that changes for some random place (like Berlin) applies to some other place (like Copenhagen). /MF