[cc'ing this Justin Grant and Yoshita Umaoka to give them a heads-up on the POSIX conformance issue with EST5EDT etc.[1]]

On 2026-07-26 03:30, Michael H Deckers wrote:

     why do pre-1970 data matter for ETD5EST but
     not for Europe/Copenhagen?

Because POSIX specifies the behavior of the former but not the latter. In named zones like Europe/Copenhagen POSIX does not specify UT offsets and time zone abbreviations and tm_isdt values. For EST5EDT, though, POSIX says that the only abbreviations that can be used are "EST" and "EDT", that the former must mean -05 with tm_isdst=0, and that the latter must mean -04 with positive tm_isdst.

Admittedly POSIX does not require support for negative time_t values, so in theory we could do whatever we like before 1970 in any Zone. However, it's stretching things to do that when the user specifically asked for EST5EDT. Such a user is old-fashioned and perhaps misguided, but there are still users like that partly because there is still documentation that suggests it.


     Why do we need a copy of the US Rules? What is wrong with

        #         NAME       STDOFF     RULES   FORMAT    [UNTIL]
          Zone    EST5EDT    -5:00      US      EST/EDT

Yes, I also don't like the bloat, but it's needed for two reasons. First, the USback rules differ slightly from the US rules in that the latter entail abbreviations like "EWT" that POSIX does not allow. Second, we want "backward" to be zic-compilable all on its own.

Before 2024b, EST5EDT and friends were "northamerica" Zones and used US rules. However, due to problems noted by Justin Grant for ECMAScript[2], we moved them out of northamerica and made them links. Back then I mistakenly thought that this was OK because POSIX did not specify the interpretation of TZ settings like TZ=EST5EDT. Since then, though, it was Robert Elz I think who mentioned that POSIX does mostly specify the behavior of TZ=EST5EDT except that it leaves the daylight-saving rules unspecified, and this means the 2024b change was at least in part a mistake. As a result of yesterday's proposed change, we've kept the part of the 2024b change that Justin asked for, while reverting the part that caused EST5EDT to depart from POSIX's intent.

I'll cc this email to Justin and to Yoshito Umaoka (who also contributed to that 2024 discussion) to give them a heads-up on the new situation.

[1]: https://lists.iana.org/hyperkitty/list/[email protected]/thread/36TCEAUKCNJAKAHXMVFMFU42QHQA347L/
[2]: https://mm.icann.org/pipermail/tz/2024-May/058934.html

Reply via email to