[tz] tzdist and tz at iana
Ken Murchison
murch at andrew.cmu.edu
Thu Sep 8 01:35:30 UTC 2016
On 09/07/2016 08:40 PM, Alexander Belopolsky wrote:
>
> On Wed, Sep 7, 2016 at 4:52 PM, Paul Eggert <eggert at cs.ucla.edu> wrote:
> >
> > On 09/07/2016 01:03 PM, Alexander Belopolsky wrote:
> >>
> >> That's clear, but adding an option to zic to generate timezone data
> in tzdist format may not be out of reach.
> >
> >
> > vzic already does that, no?
>
>
> Not really. As far as I can tell, vzic produces a single RFC 2445
> vztimezone specification for each IANA zone. All generated .ics files
> have the same DTSTART set to 19700101T000000 and RFC 7808 TZUNTIL
> property is not supported at all.
I have my own "forked" copy of vzic that I use for the tzdist service
that I implemented in Cyrus which fixes a few bugs and plugs a couple of
holes in the vzic that has been out there for a while. Its handles all
rules currently in tzdata in a more compact version (RRULEs vs RDATEs)
than what the stock vzic produces. I intend to commit this back to
either libical which has its own fork of vzic or back to the
"original". You can see an example of what it outputs here:
https://cyrus-test.andrew.cmu.edu/tzdist/zones/America/New_York
Note that DTSTART is accurate per tzdata. Also note that TZUNTIL will
only appear if the tzdata itself has a termination date or the tzdist
client asks for a cropped version of the time zone:
https://cyrus-test.andrew.cmu.edu/tzdist/zones/America/New_York?start=20160101T000000Z&end=20200101T000000Z
>
> > Do we need to reinvent that wheel?
>
> For some reason vzic author had to reinvent the wheel and write his
> own zone file parser. This part does not need to be reinvented.
> Since zic already knows how to translate rules to POSIX TZ string
> format, translating to iCalendar RRULE does not seem to require a lot
> of code. However, what I had in mind was that zic could implement the
> RFC 7808 "expand" action
> <https://tools.ietf.org/html/rfc7808#section-5.4> which is not
> implemented in vzic.
"expand" is closer to what zdump does than vzic. In fact, I implemented
this format with the expand action in my server to compare against zdump
-V to make sure that what my copy of vzic generates matches what is
expected:
https://cyrus-test.andrew.cmu.edu/tzdist/zones/America/New_York/observances?start=18000101T000000Z&end=20400101T000000Z&format=application/zdump
--
Kenneth Murchison
Principal Systems Software Engineer
Carnegie Mellon University
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mm.icann.org/pipermail/tz/attachments/20160907/98024761/attachment.htm>
More information about the tz
mailing list