On Tue, Nov 9, 2021 at 2:39 PM Brian Park via tz <tz@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