[tz] Weird PST8PDT and EST5EDT behavior on Alpine Linux

Paul Eggert eggert at cs.ucla.edu
Tue Mar 5 04:31:58 UTC 2024


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.



More information about the tz mailing list