On 3/4/24 19:52, Đoàn Trần Công Danh via tz wrote:
But seems like nothings was enforced if rule isnot given in the timezone, which makes it open to intepretion.
Musl inteprete that as no transition at all [2].
Thanks, that explains things. TZDB has a TZDEFRULESTRING setting that specifies the transitions in this situation; it defaults to US rules, so musl and TZDB always disagree about TZ settings like TZ='PST8PDT'. In TZDB, though, TZDEFRULESTRING is not used for PST8PDT and EST5EDT, as these are one of a small set of Zones that emulate the old System V behavior except with later US law changes taken into account. Another way to put it: for musl the two settings TZ='PST8PDT' and TZ='pst8pdt' agree except for the case of time zone abbreviations, and neither TZ setting ever uses daylight saving time. For TZDB, though, those two TZ settings agree only back to 2007; for earlier timestamps, TZ='PST8PDT' follows historical US behavior for standard time (and thus agrees with TZ='America/Los_Angeles' for all timestamps after 1883-11-18 at noon) whereas TZ='pst8pdt' disagrees with historical behavior by assuming current (2007 and later) rules for DST transitions before 2007. These behaviors all conform to POSIX.