FW: Questions about tzdata implementations

Richard Tibbett | World Time Engine richard at worldtimeengine.com
Thu Apr 1 15:32:28 UTC 2010

Hi Chad, All,

Whilst I don't have a full Javascript library that could help you here I
have compiled the tz database in to a number of common formats (including
Javascript/JSON) and created an open source project over at Google Code [1]
where you can download the data for any library you intend to create.

>From there I would expect that the JSON dataset would be of interest. To
select the appropriate timezone rule you would perform the following steps
(in pseudo-code):

   1. Obtain the UTC timestamp (ref_time) for the reference time you intend
   to work with.
   2. Obtain and include the necessary tzdata js file (file) according to
   the TZ Identifier requested (e.g. 'Pacific/Pago_Pago' will translate to the
   tzdata file '/tzdata/js/Pacific/Pago_Pago.js').
   3. For each rule in file: if (ref_time > rule[from]) AND (ref_time <=
   rule[to]) then return rule.
   4. Apply rule[offset] provided in rule to ref_time.

Let me know if you have any feedback or further questions on the data

If you do create a Javascript library from the data at [1] I hope you will
consider making it open source so the community at large can benefit from
your hard work.

Hope this helps and good luck :-)

[1] http://code.google.com/p/tzdata/

Richard Tibbett
WorldTimeEngine.com <http://worldtimeengine.com>

On Mon, Mar 29, 2010 at 8:15 PM, Olson, Arthur David (NIH/NCI) [E] <
olsona at dc37a.nci.nih.gov> wrote:

> I'm forwarding this message from Chad Eberle, who is not on the time zone
> mailing list. Those of you who are on the list, please direct replies
> appropriately.
>                                --ado
> -----Original Message-----
> From: Chad Eberle [mailto:ceberle at co.pierce.wa.us]
> Sent: Monday, March 29, 2010 1:15
> To: tz at lecserver.nci.nih.gov
> Subject: Questions about tzdata implementations
> I apologize if this isn't the right place for this question, but would
> appreciate any help with tracking down the answer to these questions.
> Background: We have Java web services that send back date/time values with
> offsets adjusted for DST following historical rules that match what I see
> in the
> northamerica file for America/Los_Angeles. Our client code is largely
> JavaScript, and depending on the operating system, will sometimes be
> incongruous
> about when DST starts or ends (dates before 2007 on Windows and before
> 1950. As
> one can imagine, this has caused a few problems.
> I can't seem to find any solution for the JavaScript end, so I was planning
> on
> writing one myself (if anyone knows of a solution, I'd appreciate any
> pointers).
> My questions:
> 1) Is there some reference implementation for the algorithm that selects
> the
> correct rule for a given date?
> 2) For the general US rules, there is a rule that says DST started in 1945
> on
> Aug 14 at 23:00; however, my tests in Java indicate that DST was observed
> from
> Feb 9 1942 through Sep 30 1945, continuously. The latter matches the
> historical
> information I've found. Is this rule superfluous?
> Again, any tips would be appreciated.
> --Chad Eberle
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mm.icann.org/pipermail/tz/attachments/20100401/bdb4f152/attachment.htm>

More information about the tz mailing list