On 02.07.2010 18:59 CE(S)T, David Patte wrote:
Yves, there are of course, many approaches to analysing the data, but parsing (or compiling) the files in the gz into zone, link, rule records is fairly straightforward. You can then sort the records, remove redundant records, and link the structures.
The resulting table can then searched using binary searching and a little bit of table walking to identify the rule in effect for a particular zone & time.
A (binary searchable) table implies a flat two-dimensional structure. Zones and rules are more than two-dimensional. At the point when I resolve zones and rules into a linear table, I think I lose the efficient storage and need to write out the transition times for all years separately, which will be huge. I think I need to retain the original data structure in my code and then evaluate it all at runtime, finding the right rule set in the zone, then iterating all rules to find the current UTC offset.
I have acquired permission from this end to produce a commercial DLL to wrap our tz parser and time converter algorithms as a licensable product if there is enough interest.
Sorry, not by me. I am creating a free (maybe open-source) product and where is no money, none can flow. Also, yours is probably native C code which I don't like to use in C# and probably cannot use in Java on Android. Actually I don't see the big problem in writing the code that does all this. It's finding a working algorithm at all, at least that I can run it in my brain. -- Yves Goergen "LonelyPixel" <nospam.list@unclassified.de> Visit my web laboratory at http://beta.unclassified.de