[tz] What are the interfaces to the TZDB?

David Braverman david at braverman.org
Wed Nov 10 02:49:23 UTC 2021


Jon Skeet and I have written libraries to use TZDB with .NET applications. Mine loads the data files from either the file system or from Microsoft Azure storage and compiles them at run time. I believe his (Noda Time) compiles them with the assemblies at compile time.

https://www.nuget.org/packages/InnerDrive.TimeZones/
https://www.nuget.org/packages/NodaTime/

In both cases, the interface is a set of .NET classes in one or more NuGet packages.

David Braverman

From: tz <tz-bounces at iana.org> On Behalf Of Brian Park via tz
Sent: Tuesday 9 November 2021 17:08
To: Eliot Lear <lear at lear.ch>; IANA TZ Database <tz at iana.org>
Subject: Re: [tz] What are the interfaces to the TZDB?

(Replying back to the list with permission)

On Tue, Nov 9, 2021 at 11:45 AM Eliot Lear <lear at lear.ch<mailto:lear at lear.ch>> wrote:

On 09.11.21 20:38, Brian Park wrote:
Is the TZDB project intended to support only POSIX systems?

It's a fair question.  Before we say, “no”, I would like to understand what sort systems use the database that themselves are NOT POSIX compliant.  But also, as Paul pointed out, the binary format itself is standardized at the IETF, the sponsor of this shindig.

We could go up the stack, but before we do so, we should be clear on our reasons as to why we are doing so.  And so when you say:
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.

Would you mind being a bit more specific?  Are you printing a book?  ;-)
Not that primitive... My libraries run on bare-metal, embedded microcontrollers, with no operating system. My first version is in C++, supporting all Zones and Links in about 36kB of flash (8-bit controllers) to 44kB of flash (32-bit controllers), without using 64-bit integers. I have another version in Python that I hope to convert to MicroPython soon. I'm hoping to write another version in Go lang, which will be converted into TinyGo.

Brian

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mm.icann.org/pipermail/tz/attachments/20211110/063330bf/attachment-0001.html>


More information about the tz mailing list