<div dir="auto">Daniel,<div dir="auto"><br></div><div dir="auto">Just a short message to help you get quickly started along the right path.</div><div dir="auto"><br></div><div dir="auto">A guide to interpreting the source data can be found in tz-how-to.html; I&#39;m not sure offhand whether that&#39;s in the particular tar file you have, but a development version is available from <a href="https://github.com/eggert/tz/blob/master/tz-how-to.html" target="_blank">https://github.com/eggert/tz/b<wbr>lob/master/tz-how-to.html</a></div><div dir="auto"><br></div><div dir="auto">For your idea of a text-only table of already-parsed data, you may consider the zdump utility that is packaged in the distribution. For your example, to obtain the offsets for Australia/Hobart for 2017 only:</div><div dir="auto"><br></div><div dir="auto"><div dir="auto">$ zdump -vc 2017,2018 Australia/Hobart</div><div dir="auto">Australia/Hobart  -9223372036854775808 = NULL</div><div dir="auto">Australia/Hobart  -9223372036854689408 = NULL</div><div dir="auto">Australia/Hobart  Sat Apr  1 15:59:59 2017 UTC = Sun Apr  2 02:59:59 2017 AEDT isdst=1 gmtoff=39600</div><div dir="auto">Australia/Hobart  Sat Apr  1 16:00:00 2017 UTC = Sun Apr  2 02:00:00 2017 AEST isdst=0 gmtoff=36000</div><div dir="auto">Australia/Hobart  Sat Sep 30 15:59:59 2017 UTC = Sun Oct  1 01:59:59 2017 AEST isdst=0 gmtoff=36000</div><div dir="auto">Australia/Hobart  Sat Sep 30 16:00:00 2017 UTC = Sun Oct  1 03:00:00 2017 AEDT isdst=1 gmtoff=39600</div><div dir="auto">Australia/Hobart  9223372036854689407 = NULL</div><div dir="auto">Australia/Hobart  9223372036854775807 = NULL</div><div dir="auto"><br><div data-smartmail="gmail_signature" dir="auto">--<br>Tim Parenti<br>sent from my Android phone</div></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On 14 Oct 2017 19:15, &quot;Daniel Ford&quot; &lt;<a href="mailto:dfnojunk@gmail.com" target="_blank">dfnojunk@gmail.com</a>&gt; wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I&#39;m looking to develop a &#39;world clock&#39; that could be sold to anyone (with<br>
Internet access via a Wi-Fi AP) anywhere in the world, that will display<br>
their local time, taking into account DST if/when applicable.<br>
<br>
Given that DST &#39;rules&#39; can change at the whim of governments, my firmware<br>
will need to annually look up &#39;current&#39; DST rules from the web.  After much<br>
searching, it seems that your TZ Database is the best supported such<br>
reference for time zone rules.  But I&#39;m having great difficulty working out<br>
how I might access its mine of information...<br>
<br>
(I&#39;ll understand if you don&#39;t have time to help out a beginner, and maybe<br>
then you could refer me to a help site for TZ database applications.)<br>
<br>
I&#39;m a hardware engineer with some programming experience, particularly<br>
assembler (various MCUs) and some C, but little or no experience in other<br>
languages.  I&#39;m developing this clock on an Arduino-like platform (NodeMCU,<br>
which has in-built Wi-Fi).  My development tools run on a Win7Pro64 PC.<br>
<br>
The tools that you kindly provide for your database appear to be geared<br>
primarily towards Linux/Unix platforms, and I have no idea how I might<br>
convert them for a NodeMCU!  I&#39;m looking for some &#39;simple&#39; way to access the<br>
desired TZ/DST information, preferably using simple string searches.<br>
<br>
For my application, all I&#39;m interested in are the *current* rules.  The<br>
wealth of history in your db is undoubtedly of interest to many, but for me<br>
is just &#39;clutter&#39; to be searched through.  But writing a program to find<br>
those rules for a particular locality has me stumped right now.  I can&#39;t<br>
expect my dumb users to know a letter code for their time-zone/DST-rules, so<br>
all I&#39;m expecting them to select from program-generated lists are: (1) their<br>
world region (Europe, Asia, Australasia, etc), and (2) the name of a major<br>
city in their time-zone with the same DST rules they follow.<br>
<br>
Let&#39;s take a concrete example: say my user has nominated &#39;Australasia&#39; and<br>
&#39;Hobart&#39;.  So I look in your Australasia file and do a (manual at this<br>
stage) search for &#39;Hobart&#39;, but find only one reference to it (other than in<br>
comments).  The jumble of numbers and letters there do not (clearly) tell me<br>
when DTS starts or ends.  So how could I possibly write some code to find<br>
out that required information??<br>
<br>
I&#39;ve looked through the TZ_database-2017b.tar file for some sort of &#39;how-to&#39;<br>
explanation of what all the file contents mean and how to programmatically<br>
search for a specific TZ, but have so far found nothing.<br>
<br>
Ideally, what I&#39;d like to see is a text-only table of just current TZ/DST<br>
rules for each region/locality (they could all fit into a single file with<br>
all the historical data and comments removed), perhaps in the clear form<br>
used by Jack Christensen in his excellent Arduino Timezone library examples,<br>
such as...<br>
<br>
// Australia Eastern Time Zone (Sydney, Melbourne, Hobart)<br>
TimeChangeRule aEDT = {&quot;AEDT&quot;, First, Sun, Oct, 2, 660};<br>
TimeChangeRule aEST = {&quot;AEST&quot;, First, Sun, Apr, 3, 600};<br>
TimezoneExt ausET(&quot;NSW, Vic, Tas&quot;, aEDT, aEST);<br>
// Australia Eastern Time Zone (Brisbane)<br>
TimezoneExt QldT(&quot;Queensland&quot;, aEST, aEST);  // no DST in Qld!<br>
<br>
... which clearly tells me in a program-searchable way that in the main<br>
eastern states DST starts on the first Sunday in October at 2am, becoming<br>
UTC offset +11 hours (660 minutes), and ends on the first Sunday in April at<br>
3am, reverting to UTC offset +10 hours.  Couldn&#39;t be simpler!<br>
<br>
Any help in using the TZ database will be much appreciated (and acknowledged<br>
in my source code).<br>
<br>
Regards,<br>
Daniel<br>
---------------<br>
Daniel Ford (Gerroa, Australia)<br>
&quot;My loathings are simple: stupidity, oppression, crime, cruelty, soft<br>
music.&quot; - Vladimir Nabokov<br>
<br>
</blockquote></div></div>