[tz] What are the interfaces to the TZDB?

Kevin Kenny kevin.b.kenny at gmail.com
Tue Nov 9 23:01:21 UTC 2021

On Tue, Nov 9, 2021 at 2:39 PM Brian Park via tz <tz at iana.org> wrote:

> Is the TZDB project intended to support only POSIX systems? I had assumed
> that the C library was the reference implementation, and the TZif was the
> file format supporting the reference implementation, not the API into the
> TZDB. For my downstream library, I parse the raw zone files directly from
> GitHub. That makes it easy to integrate into the GitHub Actions continuous
> build system, and I can test against the most recent commits. My downstream
> usage does not have a file system, or even an operating system. For me, the
> API into the TZDB project are the raw files, but I understand that my usage
> is unusual.

Unusual, but surely not aberrant. The Tcl programming language also parses
the raw files into its own format. (It uses zoneinfo and excludes the Tcl
files on platforms where zoneinfo is expected by default (e.g., most
Unixes) but includes the information in its own format on Windows (and iOS
and Android if memory serves).  The inclusion on Windows is partly because
many releases of Windows didn't have time zone logic that could handle
historical rule changes (and I'm talking post-1970: basically, the logic
allowed only one set of DST transition rules per zone). That may have been
fixed in current API's (I haven't tracked it recently; I know that Tcl's
method works.)

73 de ke9tv/2, Kevin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mm.icann.org/pipermail/tz/attachments/20211109/8dec286d/attachment.htm>

More information about the tz mailing list