[tz] Troll in the long term

Zefram zefram at fysh.org
Tue Mar 25 15:15:58 UTC 2014


Arthur David Olson wrote:
>An interesting long-term exercise: extend (once again) the zic-produced
>POSIX-like time zone string format to cover Troll.

Not really an appealing proposition.  The 400-year hack is serviceable.
But if you want to go this route, I suggest abandoning the concept of
a single DST offset and initialism in favour of attaching them to each
transition rule.  Say, for Troll,

	UTC0,J60/1=CET-1,M3.5.0=CEST-2,M10.5.0/3=CET-1,J311

Rules: if there are more than two transitions per annum, the DST offset
and initialism must be omitted from the base part of the TZ spec.
There may be any number of transition rules.  A rule may have appended
"=", initialism, and offset: the initialism and offset (from UT) have the
same syntax as in the base part.  A rule with no "=" describes a return to
the standard offset and initialism (from the base part), unless it's the
first of the exactly two rules in an existing-format spec that specifies
a DST initialism in the base part.  The zone is reckoned to be "on DST"
iff the current offset differs from the standard offset specified in
the base part.

As a bonus, this could express a permanently-on-DST zone, by using a
fake transition to DST and no transition back:

	CET-1,J1=CEST-2

Possible refinement: allow the isdst flag to be explicitly stated
with each initialism/offset pair.  That would allow a permanently-DST
arrangement to be specified more directly, but more importantly would
allow for Troll on CET to be reckoned not-DST.  Currently zic itself
determines isdst based on matching the standard offset, and would need
an addition to take an explicit flag in its input (presumably in the
SAVE column).

-zefram


More information about the tz mailing list