tz-link.html 58 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <title>Sources for time zone and daylight saving time data</title>
  5. <meta charset="UTF-8">
  6. <style>
  7. pre {margin-left: 2em; white-space: pre-wrap;}
  8. </style>
  9. </head>
  10. <body>
  11. <h1>Sources for time zone and daylight saving time data</h1>
  12. <p>
  13. <a href="https://en.wikipedia.org/wiki/Time_zone">Time zone</a> and
  14. <a href="https://en.wikipedia.org/wiki/Daylight_saving_time">daylight-saving</a>
  15. rules are controlled by individual
  16. governments. They are sometimes changed with little notice, and their
  17. histories and planned futures are often recorded only fitfully. Here
  18. is a summary of attempts to organize and record relevant data in this
  19. area.
  20. </p>
  21. <h3>Outline</h3>
  22. <nav>
  23. <ul>
  24. <li>The <code><abbr>tz</abbr></code> database product and process
  25. <ul>
  26. <li><a href="#tzdb">The <code><abbr>tz</abbr></code> database</a></li>
  27. <li><a href="#download">Downloading the <code><abbr>tz</abbr></code> database</a></li>
  28. <li><a href="#changes">Changes to the <code><abbr>tz</abbr></code> database</a></li>
  29. <li><a href="#commentary">Commentary on the <code><abbr>tz</abbr></code> database</a></li>
  30. </ul>
  31. </li>
  32. <li>Uses of the <code><abbr>tz</abbr></code> database
  33. <ul>
  34. <li><a href="#web">Web sites using recent versions of the <code><abbr>tz</abbr></code> database</a></li>
  35. <li><a href="#protocols">Network protocols for <code><abbr>tz</abbr></code> data</a></li>
  36. <li><a href="#compilers">Other <code><abbr>tz</abbr></code> compilers</a></li>
  37. <li><a href="#TZif">Other <abbr>TZif</abbr> readers</a></li>
  38. <li><a href="#software">Other <code><abbr>tz</abbr></code>-based time zone software</a></li>
  39. </ul>
  40. </li>
  41. <li>Related data
  42. <ul>
  43. <li><a href="#other-dbs">Other time zone databases</a></li>
  44. <li><a href="#maps">Maps</a></li>
  45. <li><a href="#boundaries">Time zone boundaries</a></li>
  46. </ul>
  47. </li>
  48. <li>Timekeeping concepts
  49. <ul>
  50. <li><a href="#civil">Civil time concepts and history</a></li>
  51. <li><a href="#national">National histories of legal time</a></li>
  52. <li><a href="#costs">Costs and benefits of time shifts</a></li>
  53. <li><a href="#precision">Precision timekeeping</a></li>
  54. <li><a href="#notation">Time notation</a></li>
  55. <li><a href="#see-also">See also</a></li>
  56. </ul>
  57. </li>
  58. </ul>
  59. </nav>
  60. <section>
  61. <h2 id="tzdb">The <code><abbr title="time zone">tz</abbr></code> database</h2>
  62. <p>
  63. The <a href="https://en.wikipedia.org/wiki/Public_domain">public-domain</a>
  64. time zone database contains code and data
  65. that represent the history of local time
  66. for many representative locations around the globe.
  67. It is updated periodically to reflect changes made by political bodies
  68. to time zone boundaries and daylight saving rules.
  69. This database (known as <code><abbr>tz</abbr></code>,
  70. <code><abbr>tzdb</abbr></code>, or <code>zoneinfo</code>)
  71. is used by several implementations,
  72. including
  73. <a href="https://www.gnu.org/software/libc/">the
  74. <abbr title="GNU's Not Unix">GNU</abbr>
  75. C Library</a> (used in
  76. <a href="https://en.wikipedia.org/wiki/Linux"><abbr>GNU</abbr>/Linux</a>),
  77. <a href="https://www.android.com">Android</a>,
  78. <a href="https://www.freebsd.org">Free<abbr
  79. title="Berkeley Software Distribution">BSD</abbr></a>,
  80. <a href="https://netbsd.org">Net<abbr>BSD</abbr></a>,
  81. <a href="https://www.openbsd.org">Open<abbr>BSD</abbr></a>,
  82. <a href="https://www.chromium.org/chromium-os">Chromium OS</a>,
  83. <a href="https://cygwin.com">Cygwin</a>,
  84. <a href="https://mariadb.org">MariaDB</a>,
  85. <a href="https://en.wikipedia.org/wiki/MINIX">MINIX</a>,
  86. <a href="https://www.mysql.com">MySQL</a>,
  87. <a href="https://en.wikipedia.org/wiki/WebOS"><abbr
  88. title="Web Operating System">webOS</abbr></a>,
  89. <a href="https://en.wikipedia.org/wiki/IBM_AIX"><abbr
  90. title="Advanced Interactive eXecutive">AIX</abbr></a>,
  91. <a href="https://en.wikipedia.org/wiki/BlackBerry_10">BlackBerry 10</a>,
  92. <a href="https://www.apple.com/ios"><abbr
  93. title="iPhone OS">iOS</abbr></a>,
  94. <a href="https://www.apple.com/macos">macOS</a>,
  95. <a href="https://www.microsoft.com/en-us/windows">Microsoft Windows</a>,
  96. <a href="https://www.vmssoftware.com">Open<abbr
  97. title="Virtual Memory System">VMS</abbr></a>,
  98. <a href="https://www.oracle.com/database/">Oracle Database</a>, and
  99. <a href="https://www.oracle.com/solaris">Oracle Solaris</a>.</p>
  100. <p>
  101. Each main entry in the database represents a <dfn>timezone</dfn>
  102. for a set of civil-time clocks that have all agreed since 1970.
  103. Timezones are typically identified by continent or ocean and then by the
  104. name of the largest city within the region containing the clocks.
  105. For example, <code>America/New_York</code>
  106. represents most of the <abbr title="United States">US</abbr> eastern time zone;
  107. <code>America/Phoenix</code> represents most of Arizona, which
  108. uses mountain time without daylight saving time (<abbr>DST</abbr>);
  109. <code>America/Detroit</code> represents most of Michigan, which uses
  110. eastern time but with different <abbr>DST</abbr> rules in 1975;
  111. and other entries represent smaller regions like Starke County,
  112. Indiana, which switched from central to eastern time in 1991
  113. and switched back in 2006.
  114. To use the database on an extended <a
  115. href="https://en.wikipedia.org/wiki/POSIX"><abbr
  116. title="Portable Operating System Interface">POSIX</abbr></a>
  117. implementation set the <code><abbr>TZ</abbr></code>
  118. environment variable to the location's full name,
  119. e.g., <code><abbr>TZ</abbr>="America/New_York"</code>.</p>
  120. <p>
  121. Associated with each timezone is a history of offsets from
  122. <a href="https://en.wikipedia.org/wiki/Universal_Time">Universal
  123. Time</a> (<abbr>UT</abbr>), which is <a
  124. href="https://en.wikipedia.org/wiki/Greenwich_Mean_Time">Greenwich Mean
  125. Time</a> (<abbr>GMT</abbr>) with days beginning at midnight;
  126. for timestamps after 1960 this is more precisely <a
  127. href="https://en.wikipedia.org/wiki/Coordinated_Universal_Time">Coordinated
  128. Universal Time</a> (<abbr>UTC</abbr>).
  129. The database also records when daylight saving time was in use,
  130. along with some time zone abbreviations such as <abbr>EST</abbr>
  131. for Eastern Standard Time in the <abbr>US</abbr>.</p>
  132. </section>
  133. <section>
  134. <h2 id="download">Downloading the <code><abbr>tz</abbr></code> database</h2>
  135. <p>
  136. The following <a
  137. href="https://en.wikipedia.org/wiki/Unix_shell">shell</a> commands download
  138. the latest release's two
  139. <a href="https://en.wikipedia.org/wiki/Tar_(computing)">tarballs</a>
  140. to a <abbr>GNU</abbr>/Linux or similar host.</p>
  141. <pre><code>mkdir tzdb
  142. cd tzdb
  143. <a href="https://www.gnu.org/software/wget/">wget</a> https://www.iana.org/time-zones/repository/tzcode-latest.tar.gz
  144. wget https://www.iana.org/time-zones/repository/tzdata-latest.tar.gz
  145. <a href="https://www.gnu.org/software/gzip/">gzip</a> -dc tzcode-latest.tar.gz | <a href="https://www.gnu.org/software/tar/">tar</a> -xf -
  146. gzip -dc tzdata-latest.tar.gz | tar -xf -
  147. </code></pre>
  148. <p>Alternatively, the following shell commands download the same
  149. release in a single-tarball format containing extra data
  150. useful for regression testing:</p>
  151. <pre><code>wget <a href="https://www.iana.org/time-zones/repository/tzdb-latest.tar.lz">https://www.iana.org/time-zones/repository/tzdb-latest.tar.lz</a>
  152. <a href="https://www.nongnu.org/lzip/">lzip</a> -dc tzdb-latest.tar.lz | tar -xf -
  153. </code></pre>
  154. <p>These commands use convenience links to the latest release
  155. of the <code><abbr>tz</abbr></code> database hosted by the
  156. <a href="https://www.iana.org/time-zones">Time Zone Database website</a>
  157. of the <a href="https://www.iana.org">Internet Assigned Numbers
  158. Authority (IANA)</a>.
  159. Older releases are in files named
  160. <code>tzcode<var>V</var>.tar.gz</code>,
  161. <code>tzdata<var>V</var>.tar.gz</code>, and
  162. <code>tzdb-<var>V</var>.tar.lz</code>,
  163. where <code><var>V</var></code> is the version.
  164. Since 1996, each version has been a four-digit year followed by
  165. lower-case letter (<samp>a</samp> through <samp>z</samp>,
  166. then <samp>za</samp> through <samp>zz</samp>, then <samp>zza</samp>
  167. through <samp>zzz</samp>, and so on).
  168. Since version 1999g, each release has been distributed in
  169. <a href="https://pubs.opengroup.org/onlinepubs/9699919799/utilities/pax.html#tag_20_92_13_06">POSIX
  170. ustar interchange format</a>, compressed as described above;
  171. older releases use a nearly-compatible format.
  172. Since version 2016h, each release has contained a text file named
  173. "<samp>version</samp>" whose first (and currently only) line is the version.
  174. Older releases are <a href="https://ftp.iana.org/tz/releases/">archived</a>,
  175. and are also available in an
  176. <a href="ftp://ftp.iana.org/tz/releases/"><abbr
  177. title="File Transfer Protocol">FTP</abbr> directory</a> via a
  178. less-secure protocol.</p>
  179. <p>Alternatively, a development repository of code and data can be
  180. retrieved from <a href="https://github.com">GitHub</a> via the shell
  181. command:</p>
  182. <pre><code><a href="https://git-scm.com">git</a> clone <a href="https://github.com/eggert/tz">https://github.com/eggert/tz</a>
  183. </code></pre>
  184. <p>
  185. Since version 2012e, each release has been tagged in development repositories.
  186. Untagged commits are less well tested and probably contain
  187. more errors.</p>
  188. <p>
  189. After obtaining the code and data files, see the
  190. <code>README</code> file for what to do next.
  191. The code lets you compile the <code><abbr>tz</abbr></code> source files into
  192. machine-readable binary files, one for each location. The binary files
  193. are in a special timezone information format (<dfn><abbr>TZif</abbr></dfn>)
  194. specified by <a href="https://tools.ietf.org/html/8536">Internet
  195. <abbr>RFC</abbr> 8536</a>.
  196. The code also lets
  197. you read a <abbr>TZif</abbr> file and interpret timestamps for that
  198. location.</p>
  199. </section>
  200. <section>
  201. <h2 id="changes">Changes to the <code><abbr>tz</abbr></code> database</h2>
  202. <p>
  203. The <code><abbr>tz</abbr></code> code and data
  204. are by no means authoritative. If you find errors, please
  205. send changes to <a href="mailto:tz@iana.org"><code>tz@iana.org</code></a>,
  206. the time zone mailing list. You can also <a
  207. href="https://mm.icann.org/mailman/listinfo/tz">subscribe</a> to it
  208. and browse the <a
  209. href="https://mm.icann.org/pipermail/tz/">archive of old
  210. messages</a>.
  211. <a href="https://tzdata-meta.timtimeonline.com/">Metadata for mailing list
  212. discussions</a> and corresponding data changes can be
  213. generated <a href="https://github.com/timparenti/tzdata-meta">automatically</a>.
  214. </p>
  215. <p>
  216. If your government plans to change its time zone boundaries or
  217. daylight saving rules, inform <code>tz@iana.org</code> well in
  218. advance, as this will coordinate updates to many cell phones,
  219. computers, and other devices around the world.
  220. The change should be officially announced at least a year before it affects
  221. how clocks operate; otherwise, there is a good chance that some
  222. clocks will operate incorrectly after the change, due
  223. to delays in propagating updates to software and data. The shorter
  224. the notice, the more likely clock problems will arise; see "<a
  225. href="https://codeofmatt.com/2016/04/23/on-the-timing-of-time-zone-changes/">On
  226. the Timing of Time Zone Changes</a>" for examples.
  227. The <code><abbr>tz</abbr></code> data can represent planned changes
  228. far into the future, and a long-planned change can easily be reverted
  229. or otherwise altered with a year's notice before the change would have
  230. affected clocks.
  231. </p>
  232. <p>
  233. Changes to the <code><abbr>tz</abbr></code> code and data are often
  234. propagated to clients via operating system updates, so
  235. client <code><abbr>tz</abbr></code> data can often be corrected by
  236. applying these updates. With GNU/Linux and similar systems, if your
  237. maintenance provider has not yet adopted the
  238. latest <code><abbr>tz</abbr></code> data, you can often short-circuit
  239. the process by tailoring the generic instructions in
  240. the <code><abbr>tz</abbr> README</code> file and installing the latest
  241. data yourself. System-specific instructions for installing the
  242. latest <code><abbr>tz</abbr></code> data have also been published
  243. for <a href="https://www.ibm.com/developerworks/aix/library/au-aix-olson-time-zone/index.html"><abbr>AIX</abbr></a>,
  244. <a
  245. href="https://source.android.com/devices/tech/config/timezone-rules">Android</a>,
  246. <a
  247. href="http://userguide.icu-project.org/datetime/timezone"><abbr
  248. title="International Components for Unicode">ICU</abbr></a>,
  249. <a href="https://developer.ibm.com/javasdk/support/dst/jtzu/"><abbr>IBM</abbr>
  250. JDK</a>,
  251. <a href="https://www.joda.org/joda-time/tz_update.html">Joda-Time</a>, <a
  252. href="https://dev.mysql.com/doc/refman/en/time-zone-support.html">MySQL</a>,
  253. <a href="https://nodatime.org/userguide/tzdb">Noda Time</a>, and <a
  254. href="https://www.oracle.com/java/technologies/javase/tzupdater-readme.html#usage">OpenJDK/Oracle JDK</a>.
  255. </p>
  256. <p>Sources for the <code><abbr>tz</abbr></code> database are
  257. <a href="https://en.wikipedia.org/wiki/UTF-8"><abbr
  258. title="Unicode Transformation Format 8-bit">UTF-8</abbr></a>
  259. <a href="https://en.wikipedia.org/wiki/Text_file">text files</a>
  260. with lines terminated by <a href="https://en.wikipedia.org/wiki/Newline"><abbr
  261. title="linefeed">LF</abbr></a>,
  262. which can be modified by common text editors such
  263. as <a href="https://www.gnu.org/software/emacs/">GNU Emacs</a>,
  264. <a href="https://wiki.gnome.org/Apps/Gedit">gedit</a>, and
  265. <a href="https://www.vim.org">vim</a>.
  266. Specialized source-file editing can be done via the
  267. <a href="https://packagecontrol.io/packages/zoneinfo">Sublime
  268. zoneinfo</a> package for <a
  269. href="https://www.sublimetext.com">Sublime Text</a> and the <a
  270. href="https://marketplace.visualstudio.com/items?itemName=gilmoreorless.vscode-zoneinfo">VSCode
  271. zoneinfo</a> extension for <a href="https://code.visualstudio.com">Visual
  272. Studio Code</a>.
  273. </p>
  274. <p>
  275. For further information about updates, please see
  276. <a href="https://tools.ietf.org/html/rfc6557">Procedures for
  277. Maintaining the Time Zone Database</a> (Internet <abbr
  278. title="Request For Comments">RFC</abbr> 6557). More detail can be
  279. found in <a href="theory.html">Theory and pragmatics of the
  280. <code><abbr>tz</abbr></code> code and data</a>.
  281. <a href="https://a0.github.io/a0-tzmigration/">A0 TimeZone Migration</a>
  282. displays changes between recent <code><abbr>tzdb</abbr></code> versions.
  283. </p>
  284. </section>
  285. <section>
  286. <h2 id="commentary">Commentary on the <code><abbr>tz</abbr></code> database</h2>
  287. <ul>
  288. <li>The article
  289. <a href="https://en.wikipedia.org/wiki/Tz_database">tz database</a> is
  290. an encyclopedic summary.</li>
  291. <li><a href="tz-how-to.html">How to Read the
  292. tz Database Source Files</a> explains the <code><abbr>tz</abbr></code>
  293. database format.</li>
  294. <li><a
  295. href="https://blog.jonudell.net/2009/10/23/a-literary-appreciation-of-the-olsonzoneinfotz-database/">A
  296. literary appreciation of the Olson/Zoneinfo/tz database</a> comments on the
  297. database's style.</li>
  298. <li><a href="https://doi.org/10.1145/3340301.3341125">What time is it:
  299. managing time in the internet</a> analyzes the database longitudinally.</li>
  300. </ul>
  301. </section>
  302. <section>
  303. <h2 id="web">Web sites using recent versions of the
  304. <code><abbr>tz</abbr></code> database</h2>
  305. <p>
  306. These are listed roughly in ascending order of complexity and fanciness.
  307. </p>
  308. <ul>
  309. <li><a href="https://time.is">Time.is</a> shows locations'
  310. time and zones.</li>
  311. <li><a href="https://www.timejones.com">TimeJones.com</a>,
  312. <a href="https://timezoneconverterapp.com">Time Zone Converter</a> and
  313. <a href="https://www.worldclock.com">The World Clock</a>
  314. are time zone converters.</li>
  315. <li><a href="https://timezonedb.com/download">TimeZoneDB Database</a>
  316. publishes <code><abbr>tzdb</abbr></code>-derived data in
  317. <a href="https://en.wikipedia.org/wiki/Comma-separated_values"><abbr
  318. title="comma-separated values">CSV</abbr></a> and
  319. in <a href="https://en.wikipedia.org/wiki/SQL"><abbr
  320. title="Structured Query Language">SQL</abbr></a> form.</li>
  321. <li><a
  322. href="https://twiki.org/cgi-bin/xtra/tzdatepick.html">Date and Time Gateway</a>
  323. lets you see the <code><abbr>TZ</abbr></code> values directly.</li>
  324. <li><a
  325. href="http://www.convertit.com/Go/ConvertIt/World_Time/Current_Time.ASP">Current
  326. Time in 1000 Places</a> uses descriptions of the values.</li>
  327. <li><a href="https://timezoneconverterapp.com/">Time Zone Converter</a>
  328. uses a pulldown menu.</li>
  329. <li><a href="https://home.kpn.nl/vanadovv/time/TZworld.html">Complete
  330. timezone information for all countries</a>
  331. displays tables of <abbr>DST</abbr> rules.
  332. <li><a href="https://www.timeanddate.com/worldclock/">The World Clock &ndash;
  333. Worldwide</a> lets you sort zone names and convert times.</li>
  334. <li><a href="https://24timezones.com">24TimeZones</a> has a world
  335. time map and a time converter.</li>
  336. <li><a href="https://www.zeitverschiebung.net/en/">Time Difference</a>
  337. calculates the current time difference between locations.</li>
  338. <li><a href="http://www.wx-now.com">Weather Now</a> and
  339. <a href="http://www.thetimenow.com">The Time Now</a> list the weather too.</li>
  340. </ul>
  341. </section>
  342. <section>
  343. <h2 id="protocols">Network protocols for <code><abbr>tz</abbr></code> data</h2>
  344. <ul>
  345. <li>The <a href="https://www.ietf.org">Internet Engineering Task Force</a>'s
  346. <a href="https://datatracker.ietf.org/wg/tzdist/charter/">Time Zone Data
  347. Distribution Service (tzdist) working group</a> defined <a
  348. href="https://tools.ietf.org/html/rfc7808">TZDIST</a>
  349. (Internet <abbr>RFC</abbr> 7808), a time zone data distribution service,
  350. along with <a href="https://tools.ietf.org/html/rfc7809">CalDAV</a>
  351. (Internet <abbr>RFC</abbr> 7809), a calendar access protocol for
  352. transferring time zone data by reference.
  353. <a href="https://devguide.calconnect.org/Time-Zones/TZDS/">TZDIST
  354. implementations</a> are available.
  355. The <a href="https://www.ietf.org/mailman/listinfo/tzdist-bis">tzdist-bis
  356. mailing list</a> discusses possible extensions.</li>
  357. <li>The <a href="https://tools.ietf.org/html/rfc5545">
  358. Internet Calendaring and Scheduling Core Object Specification
  359. (iCalendar)</a> (Internet <abbr>RFC</abbr> 5445)
  360. covers time zone
  361. data; see its VTIMEZONE calendar component.
  362. The iCalendar format requires specialized parsers and generators; a
  363. variant <a href="https://tools.ietf.org/html/rfc6321">xCal</a>
  364. (Internet <abbr>RFC</abbr> 6321) uses
  365. <a href="https://www.w3.org/XML/"><abbr
  366. title="Extensible Markup Language">XML</abbr></a> format, and a variant
  367. <a href="https://tools.ietf.org/html/rfc7265">jCal</a>
  368. (Internet <abbr>RFC</abbr> 7265)
  369. uses <a href="https://www.json.org"><abbr
  370. title="JavaScript Object Notation">JSON</abbr></a> format.</li>
  371. </ul>
  372. </section>
  373. <section>
  374. <h2 id="compilers">Other <code><abbr>tz</abbr></code> compilers</h2>
  375. <p>Although some of these do not fully support
  376. <code><abbr>tz</abbr></code> data, in recent <code><abbr>tzdb</abbr></code>
  377. distributions you can generally work around compatibility problems by
  378. running the command <code>make rearguard_tarballs</code> and compiling
  379. from the resulting tarballs instead.</p>
  380. <ul>
  381. <li><a href="https://sourceforge.net/projects/vzic/">Vzic</a> is a <a
  382. href="https://en.wikipedia.org/wiki/C_%28programming_language%29">C</a>
  383. program that compiles
  384. <code><abbr>tz</abbr></code> source into iCalendar-compatible VTIMEZONE files.
  385. Vzic is freely
  386. available under the <a
  387. href="https://www.gnu.org/copyleft/gpl.html"><abbr>GNU</abbr>
  388. General Public License (<abbr
  389. title="General Public License">GPL</abbr>)</a>.</li>
  390. <li><a href="https://sourceforge.net/projects/tzical/">tziCal &ndash; tz
  391. database conversion utility</a> is like Vzic, except for the <a
  392. href="https://dotnet.microsoft.com">.NET framework</a>
  393. and with a <abbr>BSD</abbr>-style license.</li>
  394. <li><a
  395. href="https://metacpan.org/release/DateTime-TimeZone">DateTime::TimeZone</a>
  396. contains a script <code>parse_olson</code> that compiles
  397. <code><abbr>tz</abbr></code> source into <a href="https://www.perl.org">Perl</a>
  398. modules. It is part of the Perl <a
  399. href="https://github.com/houseabsolute/DateTime.pm/wiki">DateTime Project</a>,
  400. which is freely
  401. available under both the <abbr>GPL</abbr> and the Perl Artistic
  402. License. DateTime::TimeZone also contains a script
  403. <code>tests_from_zdump</code> that generates test cases for each clock
  404. transition in the <code><abbr>tz</abbr></code> database.</li>
  405. <li>The <a href="https://howardhinnant.github.io/date/tz.html">Time Zone
  406. Database Parser</a> is a
  407. <a href="https://en.wikipedia.org/wiki/C%2B%2B">C++</a> parser and
  408. runtime library with <a
  409. href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0355r7.html">API</a>
  410. adopted by
  411. <a href="https://en.wikipedia.org/wiki/C++20">C++20</a>,
  412. the current iteration of the C++ standard.
  413. It is freely available under the
  414. <abbr title="Massachusetts Institute of Technology">MIT</abbr> license.</li>
  415. <li><a id="ICU" href="http://site.icu-project.org">International Components for
  416. Unicode (<abbr>ICU</abbr>)</a> contains C/C++ and <a
  417. href="https://en.wikipedia.org/wiki/Java_%28programming_language%29">Java</a>
  418. libraries for internationalization that
  419. has a compiler from <code><abbr>tz</abbr></code> source
  420. and from <abbr title="Common Locale Data Repository">CLDR</abbr> data
  421. (mentioned <a href="#CLDR">below</a>)
  422. into an <abbr>ICU</abbr>-specific format.
  423. <abbr>ICU</abbr> is freely available under a
  424. <abbr>BSD</abbr>-style license.</li>
  425. <li>The <a href="https://github.com/lau/tzdata">Tzdata</a> package for
  426. the <a href="https://elixir-lang.org">Elixir</a> language downloads
  427. and compiles <code><abbr>tz</abbr></code> source and exposes <abbr
  428. title="Application Program Interface">API</abbr>s for use. It is
  429. freely available under the <abbr>MIT</abbr> license.</li>
  430. <li>Java-based compilers and libraries include:
  431. <ul>
  432. <li>The <a
  433. href="https://www.oracle.com/java/technologies/javase/tzupdater-readme.html">TZUpdater
  434. tool</a> compiles <code><abbr>tz</abbr></code> source into the format used by
  435. <a href="https://openjdk.java.net/">OpenJDK</a> and
  436. <a href="https://jdk.java.net/">Oracle JDK</a>.
  437. Although its source code is proprietary, its executable is available under the
  438. <a href="https://www.oracle.com/a/tech/docs/tzupdater-lic.html">Java SE
  439. Timezone Updater License Agreement</a>.</li>
  440. <li>The <a
  441. href="https://www.oracle.com/technetwork/articles/java/jf14-date-time-2125367.html">Java
  442. SE 8 Date and Time</a> <abbr>API</abbr> can be supplemented by <a
  443. href="https://www.threeten.org/threeten-extra/">ThreeTen-Extra</a>,
  444. which is freely available under a <abbr>BSD</abbr>-style license.</li>
  445. <li><a href="https://www.joda.org/joda-time/">Joda-Time &ndash; Java date
  446. and time <abbr>API</abbr></a> contains a class
  447. <code>org.joda.time.tz.ZoneInfoCompiler</code> that compiles
  448. <code><abbr>tz</abbr></code> source into a binary format. It inspired
  449. Java 8 <code>java.time</code>, which its users should migrate to once
  450. they can assume Java 8 or later. It is available under the <a
  451. href="https://www.apache.org/licenses/LICENSE-2.0">Apache License</a>.</li>
  452. <li><a href="https://bell-sw.com/pages/iana-updater/">IANA Updater</a> and <a
  453. href="https://www.azul.com/products/open-source-tools/ziupdater-time-zone-tool/">ZIUpdater</a>
  454. are alternatives to TZUpdater. IANA Updater's license is unclear;
  455. ZIUpdater is licensed under the <abbr>GPL</abbr>.</li>
  456. <li><a href="https://github.com/MenoData/Time4A">Time4A: Advanced date and
  457. time library for Android</a> and
  458. <a href="https://github.com/MenoData/Time4J/">Time4J: Advanced date,
  459. time and interval library for Java</a> compile
  460. <code><abbr>tz</abbr></code> source into a binary format.
  461. Time4A is available under the Apache License and Time4J is
  462. available under the <a
  463. href="https://www.gnu.org/copyleft/lesser.html"><abbr>GNU</abbr> Lesser
  464. General Public License (<abbr title="Lesser General Public
  465. License">LGPL</abbr>)</a>.</li>
  466. <li><abbr>ICU</abbr> (mentioned <a href="#ICU">above</a>) contains compilers and
  467. Java-based libraries.</li>
  468. </ul>
  469. <li><a href="https://nodatime.org">Noda Time &ndash; Date and
  470. time <abbr>API</abbr> for .NET</a>
  471. is like Joda-Time and Time4J, but for the .NET framework instead of Java.
  472. It is freely available under the Apache License.</li>
  473. <li>Many modern
  474. <a href="https://en.wikipedia.org/wiki/JavaScript">JavaScript</a>
  475. runtimes support <code><abbr>tz</abbr></code> natively via the
  476. <samp>timeZone</samp> option of <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat"><samp>Intl.DateTimeFormat</samp></a>.
  477. This can be used as-is or with most of the following libraries,
  478. many of which also support runtimes lacking the <samp>timeZone</samp> option.
  479. <ul>
  480. <li>The <a
  481. href="https://github.com/formatjs/date-time-format-timezone"><samp>Intl.DateTimeFormat</samp>
  482. timezone polyfill</a>
  483. is freely available under a <abbr>BSD</abbr>-style license.</li>
  484. <li><a
  485. href="https://github.com/kshetline/compact-time-zone-generator">CompactTimeZoneGenerator</a>
  486. compiles time zone data into a compact form designed for
  487. JavaScript. It is freely available under a combination of
  488. the <abbr>MIT</abbr> license and the Apache License.</li>
  489. <li>The <a href="https://date-fns.org/">date-fns</a>
  490. library manipulates timezone-aware timestamps in browsers and
  491. in <a href="https://nodejs.org/en/">Node.js</a>.
  492. It is freely available under the <abbr>MIT</abbr> license.</li>
  493. <li><a href="https://github.com/iamkun/dayjs">Day.js</a> is a
  494. minimalist replacement for the date and time API of
  495. the <a href="https://momentjs.com/docs/">now-legacy Moment.js</a> date
  496. manipulation library.
  497. It is freely available under the <abbr>MIT</abbr> license.</li>
  498. <li><a href="https://moment.github.io/luxon/">Luxon</a> improves
  499. timezone support for the <samp>Intl</samp> API.
  500. It is freely available under the <abbr>MIT</abbr> license.</li>
  501. <li><a href="https://momentjs.com/timezone/">Moment Timezone</a> is a
  502. Moment.js plugin.
  503. It is freely available under the <abbr>MIT</abbr> license.</li>
  504. <li><a href="https://github.com/bigeasy/timezone">Timezone</a> is a
  505. JavaScript library that supports date arithmetic that is time zone
  506. aware. It is freely available under the <abbr>MIT</abbr> license.</li>
  507. <li><a href="https://www.npmjs.com/package/@tubular/time">@tubular/time</a>
  508. supports live <code><abbr>tzdb</abbr></code> updates,
  509. astronomical and atomic time, a command-line interface,
  510. and full <a
  511. href="https://en.wikipedia.org/wiki/TypeScript">TypeScript</a>.
  512. Its companion <a
  513. href="https://www.npmjs.com/package/@tubular/time-tzdb">@tubular/time-tzdb</a>
  514. can generate <abbr>TZif</abbr> and other files, and a companion website
  515. <a href="https://tzexplorer.org">Timezone Database Explorer</a> lets you
  516. convert timestamps, view transition histories, and download code and data.
  517. It is freely available under the <abbr>MIT</abbr> license.</li>
  518. </ul>
  519. The proposed <a
  520. href="https://github.com/tc39/proposal-temporal"><samp>Temporal</samp>
  521. objects</a> let programs access an abstract view of
  522. <code><abbr>tzdb</abbr></code> data, and are designed to replace <a
  523. href="https://codeofmatt.com/javascript-date-type-is-horribly-broken/">JavaScript's
  524. problematic <samp>Date</samp> objects</a> when working with dates and times.
  525. <li><a href="https://github.com/JuliaTime/">JuliaTime</a> contains a
  526. compiler from <code><abbr>tz</abbr></code> source into
  527. <a href="https://julialang.org/">Julia</a>. It is freely available
  528. under the <abbr>MIT</abbr> license.</li>
  529. <li><a href="https://github.com/pavkam/tzdb"><abbr>TZDB</abbr> &ndash;
  530. <abbr>IANA</abbr> Time Zone Database for Delphi/<abbr
  531. title="Free Pascal Compiler">FPC</abbr></a>
  532. compiles from <code><abbr>tz</abbr></code> source into
  533. <a href="https://en.wikipedia.org/wiki/Object_Pascal">Object Pascal</a>
  534. as compiled by <a href="https://en.wikipedia.org/wiki/Delphi_(IDE)">Delphi</a>
  535. and <a
  536. href="https://en.wikipedia.org/wiki/Free_Pascal"><abbr>FPC</abbr></a>.
  537. It is freely available under a <abbr>BSD</abbr>-style license.</li>
  538. <li><a href="http://pytz.sourceforge.net">pytz &ndash; World Timezone
  539. Definitions for Python</a> compiles <code><abbr>tz</abbr></code> source into
  540. <a href="https://www.python.org">Python</a>.
  541. It is freely available under a <abbr>BSD</abbr>-style license.
  542. In code that can assume Python 3.9 or later it is superseded by
  543. <a href="#python-zoneinfo"><code>zoneinfo.ZoneInfo</code></a>
  544. and the <a href="#pypi-tzdata"><code>tzdata</code> Python package</a>.</li>
  545. <li><a href="https://tzinfo.github.io">TZInfo &ndash;
  546. Ruby Timezone Library</a>
  547. compiles <code><abbr>tz</abbr></code> source into
  548. <a href="https://www.ruby-lang.org/en/">Ruby</a>.
  549. It is freely available under the <abbr>MIT</abbr> license.</li>
  550. <li>The <a href="http://www.squeaksource.com/Chronos/">Chronos Date/Time
  551. Library</a> is
  552. a <a href="https://en.wikipedia.org/wiki/Smalltalk">Smalltalk</a> class
  553. library that compiles <code><abbr>tz</abbr></code> source into a time
  554. zone repository whose format
  555. is either proprietary or an <abbr>XML</abbr>-encoded
  556. representation.</li>
  557. <li><a id="Tcl" href="https://tcl.tk">Tcl</a>
  558. contains a developer-oriented parser that compiles <code><abbr>tz</abbr></code>
  559. source into text files, along with a runtime that can read those
  560. files. Tcl is freely available under a <abbr>BSD</abbr>-style
  561. license.</li>
  562. </ul>
  563. </section>
  564. <section>
  565. <h2 id="TZif">Other <abbr>TZif</abbr> readers</h2>
  566. <ul>
  567. <li>The <a
  568. href="https://www.gnu.org/software/libc/"><abbr>GNU</abbr> C
  569. Library</a>
  570. has an independent, thread-safe implementation of
  571. a <abbr>TZif</abbr> file reader.
  572. This library is freely available under the LGPL
  573. and is widely used in <abbr>GNU</abbr>/Linux systems.</li>
  574. <li><a href="https://www.gnome.org">GNOME</a>'s
  575. <a href="https://developer.gnome.org/glib/">GLib</a> has
  576. a <abbr>TZif</abbr> file reader written in C that
  577. creates a <code>GTimeZone</code> object representing sets
  578. of <abbr>UT</abbr> offsets.
  579. It is freely available under the <abbr>LGPL</abbr>.</li>
  580. <li>The
  581. <a href="https://github.com/bloomberg/bde/wiki">BDE Standard Library</a>'s
  582. <code>baltzo::TimeZoneUtil</code> component contains a C++
  583. implementation of a <abbr>TZif</abbr> file reader. It is freely available under
  584. the Apache License.</li>
  585. <li><a href="https://github.com/google/cctz">CCTZ</a> is a simple C++
  586. library that translates between <abbr>UT</abbr> and civil time and
  587. can read <abbr>TZif</abbr> files. It is freely available under the Apache
  588. License.</li>
  589. <li><a href="https://github.com/derickr/timelib">Timelib</a> is a C
  590. library that reads <abbr>TZif</abbr> files and converts
  591. timestamps from one time zone or format to another.
  592. It is used by <a href="https://secure.php.net"><abbr
  593. title="PHP: Hypertext Preprocessor">PHP</abbr></a>,
  594. <a href="https://hhvm.com"><abbr title="HipHop Virtual Machine">HHVM</abbr></a>,
  595. and <a href="https://www.mongodb.com">MongoDB</a>.
  596. It is freely available under the <abbr>MIT</abbr> license.</li>
  597. <li>Tcl, mentioned <a href="#Tcl">above</a>, also contains a
  598. <abbr>TZif</abbr> file reader.</li>
  599. <li><a href="https://metacpan.org/pod/DateTime::TimeZone::Tzfile">
  600. DateTime::TimeZone::Tzfile</a>
  601. is a <abbr>TZif</abbr> file reader written in Perl.
  602. It is freely available under the same terms as Perl
  603. (dual <abbr>GPL</abbr> and Artistic license).</li>
  604. <li>Python has a <a id="python-zoneinfo"
  605. href="https://docs.python.org/3.9/library/zoneinfo.html"><code>zoneinfo.ZoneInfo</code>
  606. class</a> that reads <abbr>TZif</abbr> data and creates objects
  607. that represent <code><abbr>tzdb</abbr></code> timezones.
  608. Python is freely available under the
  609. <a href="https://docs.python.org/3.9/license.html">Python Software Foundation
  610. License</a>.
  611. A companion <a id="pypi-tzdata" href="https://pypi.org/">PyPI</a> module
  612. <a href="https://pypi.org/project/tzdata/"><code>tzdata</code></a>
  613. supplies TZif data if the underlying system data cannot be found;
  614. it is freely available under the Apache License.</li>
  615. <li>The
  616. public-domain <a href="https://github.com/dbaron/tz.js">tz.js</a>
  617. library contains a Python tool that
  618. converts <abbr>TZif</abbr> data into
  619. <abbr>JSON</abbr>-format data suitable for use
  620. in its JavaScript library for time zone conversion. Dates before 1970
  621. are not supported.</li>
  622. <li>The <a
  623. href="https://hackage.haskell.org/package/timezone-olson">timezone-olson</a>
  624. package contains <a href="https://www.haskell.org">Haskell</a> code that
  625. parses and uses <abbr>TZif</abbr> data. It is freely
  626. available under a <abbr>BSD</abbr>-style license.</li>
  627. </ul>
  628. </section>
  629. <section>
  630. <h2 id="software">Other <code><abbr>tz</abbr></code>-based time zone software</h2>
  631. <ul>
  632. <li><a href="https://foxclocks.org">FoxClocks</a>
  633. is an extension for <a href="https://www.google.com/chrome/">Google
  634. Chrome</a> and for <a
  635. href="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/Toolkit_API">Mozilla
  636. Toolkit</a> applications like <a
  637. href="https://www.mozilla.org/en-US/firefox/new/">Firefox</a> and <a
  638. href="https://www.mozilla.org/en-US/thunderbird/">Thunderbird</a>.
  639. It displays multiple clocks in the application window, and has a mapping
  640. interface to <a href="https://www.google.com/earth/">Google Earth</a>.
  641. It is freely available under the <abbr>GPL</abbr>.</li>
  642. <li><a href="https://golang.org">Go programming language</a>
  643. implementations contain a copy of a 32-bit subset of a recent
  644. <code><abbr>tz</abbr></code> database in a
  645. Go-specific format.</li>
  646. <li>Microsoft Windows 8.1
  647. and later has <code><abbr>tz</abbr></code> data and <abbr>CLDR</abbr>
  648. data (mentioned <a href="#CLDR">below</a>) used by the
  649. <a href="https://en.wikipedia.org/wiki/Windows_Runtime">Windows Runtime</a> /
  650. <a href="https://en.wikipedia.org/wiki/Universal_Windows_Platform">Universal Windows Platform</a> classes
  651. <a href="https://docs.microsoft.com/uwp/api/Windows.Globalization.DateTimeFormatting.DateTimeFormatter"><code>DateTimeFormatter</code></a> and
  652. <a href="https://docs.microsoft.com/uwp/api/windows.globalization.calendar"><code>Calendar</code></a>.
  653. <a id="System.TimeZoneInfo"
  654. href="https://blogs.msdn.microsoft.com/bclteam/2007/06/07/exploring-windows-time-zones-with-system-timezoneinfo-josh-free/">Exploring
  655. Windows Time Zones with <code>System.TimeZoneInfo</code></a> describes
  656. the older, proprietary method of Microsoft Windows 2000 and later,
  657. which stores time zone data in the
  658. <a href="https://en.wikipedia.org/wiki/Windows_Registry">Windows Registry</a>. The
  659. <a
  660. href="https://unicode.org/cldr/charts/latest/supplemental/zone_tzid.html">Zone &rarr;
  661. Tzid table</a> or <a
  662. href="https://github.com/unicode-org/cldr/blob/master/common/supplemental/windowsZones.xml"><abbr>XML</abbr>
  663. file</a> of the <abbr>CLDR</abbr> data maps proprietary zone IDs
  664. to <code><abbr>tz</abbr></code> names.
  665. These mappings can be performed programmatically via the <a href="https://github.com/mj1856/TimeZoneConverter">TimeZoneConverter</a> .NET library,
  666. or the ICU Java and C++ libraries mentioned <a href="#ICU">above</a>.
  667. <li><a
  668. href="https://www.oracle.com/java/index.html">Oracle
  669. Java</a> contains a copy of a subset of a recent
  670. <code><abbr>tz</abbr></code> database in a
  671. Java-specific format.</li>
  672. </ul>
  673. </section>
  674. <section>
  675. <h2 id="other-dbs">Other time zone databases</h2>
  676. <ul>
  677. <li><a href="https://www.astro.com/atlas">Time-zone Atlas</a>
  678. is Astrodienst's Web version of Shanks and Pottenger's out-of-print
  679. time zone history atlases
  680. <a href="https://www.worldcat.org/oclc/468828649">for the US</a> and
  681. <a href="https://www.worldcat.org/oclc/76950459">for the world</a>.
  682. Although these extensive atlases
  683. <a href="https://astrologynewsservice.com/opinion/how-astrologers-contributed-to-the-information-age-a-brief-history-of-time/">were
  684. sources for much of the older <code><abbr>tz</abbr></code> data</a>,
  685. they are unreliable as Shanks appears to have
  686. guessed many <abbr>UT</abbr> offsets and transitions. The atlases cite no
  687. sources and do not indicate which entries are guesswork.</li>
  688. <li><a href="https://en.wikipedia.org/wiki/HP-UX">HP-UX</a> has a database in
  689. its own <code>tztab</code>(4) format.</li>
  690. <li>Microsoft Windows has proprietary data mentioned
  691. <a href="#System.TimeZoneInfo">above</a>.</li>
  692. <li><a href="https://www.worldtimeserver.com">World Time Server</a>
  693. is another time zone database.</li>
  694. <li>The <a
  695. href="https://www.iata.org/publications/store/Pages/standard-schedules-information.aspx">Standard
  696. Schedules Information Manual</a> of the
  697. International Air Transport Association
  698. gives current time zone rules for airports served by commercial aviation.</li>
  699. </ul>
  700. </section>
  701. <section>
  702. <h2 id="maps">Maps</h2>
  703. <ul>
  704. <li>The <a
  705. href="https://www.cia.gov/the-world-factbook/maps/world-regional/">World
  706. and Regional Maps section</a> of <em>The World Factbook</em>, published by the
  707. <a href="https://www.cia.gov">US Central Intelligence
  708. Agency (<abbr
  709. title="Central Intelligence Agency">CIA</abbr>)</a>, contains a time
  710. zone map; the
  711. <a
  712. href="https://legacy.lib.utexas.edu/maps/world.html">Perry&ndash;Casta&ntilde;eda
  713. Library Map Collection</a>
  714. of the University of Texas at Austin has copies of
  715. recent editions.
  716. The pictorial quality is good,
  717. but the maps do not indicate daylight saving time,
  718. and parts of the data are a few years out of date.</li>
  719. <li><a href="https://www.worldtimezone.com">World Time Zone Map
  720. with current time</a>
  721. has several fancy time zone maps; it covers Russia particularly well.
  722. The maps' pictorial quality is not quite as good as the
  723. <abbr>CIA</abbr>'s
  724. but the maps are more up to date.</li>
  725. <li><a
  726. href="https://blog.poormansmath.net/how-much-is-time-wrong-around-the-world/">How
  727. much is time wrong around the world?</a> maps the difference between
  728. mean solar and standard time, highlighting areas such as western China
  729. where the two differ greatly. It's a bit out of date, unfortunately.</li>
  730. </ul>
  731. </section>
  732. <section>
  733. <h2 id="boundaries">Time zone boundaries</h2>
  734. <p>Geographical boundaries between timezones are available
  735. from several <a
  736. href="https://en.wikipedia.org/wiki/Internet_geolocation">Internet
  737. geolocation</a>
  738. services and other sources.</p>
  739. <ul>
  740. <li><a href="https://github.com/evansiroky/timezone-boundary-builder">Timezone
  741. Boundary Builder</a> extracts
  742. <a href="https://www.openstreetmap.org">Open Street Map</a> data to build
  743. boundaries of <code><abbr>tzdb</abbr></code> timezones.
  744. Its code is freely available under the <abbr>MIT</abbr> license, and
  745. its data entries are freely available under the
  746. <a href="https://opendatacommons.org/licenses/odbl/">Open Data Commons
  747. Open Database License</a>. The maps' borders appear to be quite accurate.</li>
  748. <li>Programmatic interfaces that map geographical coordinates via tz_world to
  749. <code><abbr>tzdb</abbr></code> timezones include:
  750. <ul>
  751. <li><a href="https://github.com/mj1856/GeoTimeZone">GeoTimeZone</a> is
  752. written in <a
  753. href="https://en.wikipedia.org/wiki/C_Sharp_(programming_language)">C#</a>
  754. and is freely available under the <abbr>MIT</abbr> license.</li>
  755. <li>The <a href="https://github.com/bradfitz/latlong">latlong package</a>
  756. is written in Go and is freely available under the Apache License.</li>
  757. <li><a href="https://github.com/drtimcooper/LatLongToTimezone">LatLongToTimezone</a>,
  758. in both Java and
  759. <a href="https://en.wikipedia.org/wiki/Swift_(programming_language)">Swift</a>
  760. form, is freely available under the MIT license.</li>
  761. <li>For Node.js,
  762. the <a href="https://www.npmjs.com/package/geo-tz">geo-tz module</a>
  763. is freely available under the MIT license, and
  764. the <a href="https://www.npmjs.com/package/tz-lookup">tz-lookup module</a>
  765. is in the public domain.</li>
  766. <li>The <a
  767. href="https://github.com/MrMinimal64/timezonefinder">timezonefinder</a>
  768. library for Python is freely available under the MIT license.
  769. <li>The <a
  770. href="https://github.com/gunyarakun/timezone_finder">timezone_finder</a>
  771. library for Ruby is freely available under the MIT license.</li>
  772. </ul></li>
  773. <li>Free access via a network API, if you register a key, is provided by
  774. the <a
  775. href="https://www.geonames.org/export/web-services.html#timezone">GeoNames
  776. Timezone web service</a>, the <a
  777. href="https://developers.google.com/maps/documentation/timezone/intro">Google
  778. Maps Time Zone API</a>, and
  779. the <a href="https://timezonedb.com/api">TimeZoneDB API</a>.
  780. Commercial network API access is provided
  781. by <a href="https://askgeo.com">AskGeo</a>
  782. and <a href="https://www.geogarage.com/blog/news-1/post/geogarage-time-zone-api-31">GeoGarage</a>.
  783. </li>
  784. <li>"<a
  785. href="https://stackoverflow.com/questions/16086962/how-to-get-a-time-zone-from-a-location-using-latitude-and-longitude-coordinates/16086964">How
  786. to get a time zone from a location using latitude and longitude
  787. coordinates?</a>" discusses other geolocation possibilities.</li>
  788. <li><a href="http://statoids.com/statoids.html">Administrative
  789. Divisions of Countries ("Statoids")</a> lists
  790. political subdivision data related to time zones.</li>
  791. <li><a href="https://home.kpn.nl/vanadovv/time/Multizones.html">Time
  792. zone boundaries for multizone countries</a> summarizes legal
  793. boundaries between time zones within countries.</li>
  794. <li><a href="http://manifold.net/info/freestuff.shtml">Manifold Software
  795. &ndash; GIS and Database Tools</a> includes a Manifold-format map of
  796. world time zone boundaries distributed under the
  797. <abbr>GPL</abbr>.</li>
  798. <li>A ship within the <a
  799. href="https://en.wikipedia.org/wiki/Territorial_waters">territorial
  800. waters</a> of any nation uses that nation's time. In international
  801. waters, time zone boundaries are meridians 15&deg; apart, except that
  802. <abbr>UT</abbr>&minus;12 and <abbr>UT</abbr>+12 are each 7.5&deg;
  803. wide and are separated by
  804. the 180&deg; meridian (not by the International Date Line, which is
  805. for land and territorial waters only). A captain can change ship's
  806. clocks any time after entering a new time zone; midnight changes are
  807. common.</li>
  808. </ul>
  809. </section>
  810. <section>
  811. <h2 id="civil">Civil time concepts and history</h2>
  812. <ul>
  813. <li><a href="https://www.nist.gov/pml/time-and-frequency-division/popular-links/walk-through-time">A
  814. Walk through Time</a>
  815. surveys the evolution of timekeeping.</li>
  816. <li>The history of daylight saving time is surveyed in <a
  817. href="http://www.webexhibits.org/daylightsaving/">About Daylight
  818. Saving Time &ndash; History, rationale, laws &amp; dates</a> and summarized in
  819. <a href="http://seizethedaylight.com/dst/">A Brief
  820. History of Daylight Saving Time</a>.</li>
  821. <li><a href="https://www.laphamsquarterly.org/roundtable/time-lords">Time
  822. Lords</a> discusses how authoritarians manipulate civil time.</li>
  823. <li><a href="https://www.w3.org/TR/timezone/">Working with Time Zones</a>
  824. contains guidelines and best practices for software applications that
  825. deal with civil time.</li>
  826. <li><a href="https://www.staff.science.uu.nl/~gent0113/idl/idl.htm">A History of
  827. the International Date Line</a> tells the story of the most important
  828. time zone boundary.</li>
  829. <li><a href="http://statoids.com/tconcept.html">Basic Time
  830. Zone Concepts</a> discusses terminological issues behind time zones.</li>
  831. </ul>
  832. </section>
  833. <section>
  834. <h2 id="national">National histories of legal time</h2>
  835. <dl>
  836. <dt>Australia</dt>
  837. <dd>The Parliamentary Library commissioned a <a
  838. href="https://www.aph.gov.au/binaries/library/pubs/rp/2009-10/10rp10.pdf">research
  839. paper on daylight saving time in Australia</a>.
  840. The Bureau of Meteorology publishes a list of <a
  841. href="http://www.bom.gov.au/climate/averages/tables/dst_times.shtml">Implementation
  842. Dates of Daylight Savings Time within Australia</a>.</dd>
  843. <dt>Belgium</dt>
  844. <dd>The Royal Observatory of Belgium maintains a table of time in
  845. Belgium (in
  846. <a href="https://www.astro.oma.be/GENERAL/INFO/nli001a.html"
  847. hreflang="nl">Dutch</a> and <a
  848. href="https://www.astro.oma.be/GENERAL/INFO/fri001a.html"
  849. hreflang="fr">French</a>).</dd>
  850. <dt>Brazil</dt>
  851. <dd>The Time Service Department of the National Observatory
  852. records <a href="http://pcdsh01.on.br/DecHV.html"
  853. hreflang="pt-BR">Brazil's daylight saving time decrees (in
  854. Portuguese)</a>.</dd>
  855. <dt>Canada</dt>
  856. <dd>National Research Council Canada publishes current
  857. and some older information about <a
  858. href="https://nrc.canada.ca/en/certifications-evaluations-standards/canadas-official-time/time-zones-daylight-saving-time">time
  859. zones and daylight saving time</a>.</dd>
  860. <dt>Chile</dt>
  861. <dd>The Hydrographic and Oceanographic Service of the Chilean Navy publishes a
  862. <a href="https://www.horaoficial.cl/historia_hora.html" hreflang="es">history of
  863. Chile's official time (in Spanish)</a>.</dd>
  864. <dt>China</dt>
  865. <dd>The Hong Kong Observatory maintains a
  866. <a href="https://www.hko.gov.hk/en/gts/time/Summertime.htm">history of
  867. summer time in Hong Kong</a>,
  868. and Macau's Meteorological and Geophysical Bureau maintains a <a
  869. href="https://www.smg.gov.mo/en/subpage/224/page/174">similar
  870. history for Macau</a>.
  871. Unfortunately the latter is incomplete and has errors.</dd>
  872. <dt>Czech Republic</dt>
  873. <dd><a href="https://kalendar.beda.cz/kdy-zacina-a-konci-letni-cas"
  874. hreflang="cs">When daylight saving time starts and ends (in Czech)</a>
  875. summarizes and cites historical <abbr>DST</abbr> regulations.</dd>
  876. <dt>Germany</dt>
  877. <dd>The National Institute for Science and Technology maintains the <a
  878. href="https://www.ptb.de/cms/en/fachabteilungen/abt4/fb-44/ag-441/realisation-of-legal-time-in-germany.html">Realisation
  879. of Legal Time in Germany</a>.</dd>
  880. <dt>Israel</dt>
  881. <dd>The Interior Ministry periodically issues <a
  882. href="ftp://ftp.cs.huji.ac.il/pub/tz/announcements"
  883. hreflang="he">announcements (in Hebrew)</a>.</dd>
  884. <dt>Malaysia</dt>
  885. <dd>See Singapore <a href="#Singapore">below</a>.</dd>
  886. <dt>Mexico</dt>
  887. <dd>The Investigation and Analysis Service of the Mexican Library of
  888. Congress has published a <a
  889. href="http://www.diputados.gob.mx/bibliot/publica/inveyana/polisoc/horver/index.htm"
  890. hreflang="es">history of Mexican local time (in Spanish)</a>.</dd>
  891. <dt>Netherlands</dt>
  892. <dd><a href="https://www.staff.science.uu.nl/~gent0113/wettijd/wettijd.htm"
  893. hreflang="nl">Legal time in the Netherlands (in Dutch)</a>
  894. covers the history of local time in the Netherlands from ancient times.</dd>
  895. <dt>New Zealand</dt>
  896. <dd>The Department of Internal Affairs maintains a brief <a
  897. href="https://www.dia.govt.nz/Daylight-Saving-History">History of
  898. Daylight Saving</a>.</dd>
  899. <dt>Portugal</dt>
  900. <dd>The Lisbon Astronomical Observatory publishes a
  901. <a href="https://oal.ul.pt/hora-legal/" hreflang="pt">history of
  902. legal time (in Portuguese)</a>.</dd>
  903. <dt>Singapore</dt>
  904. <dd><a id="Singapore"
  905. href="https://web.archive.org/web/20190822231045/http://www.math.nus.edu.sg/~mathelmr/teaching/timezone.html">Why
  906. is Singapore in the "Wrong" Time Zone?</a> details the
  907. history of legal time in Singapore and Malaysia.</dd>
  908. <dt>United Kingdom</dt>
  909. <dd><a
  910. href="https://www.polyomino.org.uk/british-time/">History of
  911. legal time in Britain</a> discusses in detail the country
  912. with perhaps the best-documented history of clock adjustments.</dd>
  913. <dt>United States</dt>
  914. <dd>The Department of Transportation's <a
  915. href="https://www.transportation.gov/regulations/recent-time-zone-proceedings">Recent
  916. Time Zone Proceedings</a> lists changes to time zone boundaries.</dd>
  917. <dt>Uruguay</dt>
  918. <dd>The Oceanography, Hydrography, and Meteorology Service of the Uruguayan
  919. Navy (SOHMA) publishes an annual <a
  920. href="http://sohma.armada.mil.uy/index.php/servicios/datos-astronomicos" hreflang="es">almanac
  921. (in Spanish)</a>.</dd>
  922. </dl>
  923. </section>
  924. <section>
  925. <h2 id="costs">Costs and benefits of time shifts</h2>
  926. <p>Various sources argue for and against daylight saving time and time
  927. zone shifts, and many scientific studies have been conducted. This
  928. section summarizes reviews and position statements based on
  929. scientific literature in the area.</p>
  930. <ul>
  931. <li>Carey RN, Sarma KM.
  932. <a href="https://bmjopen.bmj.com/content/7/6/e014319.long">Impact of
  933. daylight saving time on road traffic collision risk: a systematic
  934. review</a>.
  935. <em>BMJ Open.</em> 2017;7(6):e014319. doi:<a href="https://doi.org/10.1136/bmjopen-2016-014319">10.1136/bmjopen-2016-014319</a>.
  936. This reviews research literature and concludes that the evidence
  937. neither supports nor refutes road safety benefits from
  938. shifts in time zones.</li>
  939. <li>Havranek T, Herman D, Irsova D.
  940. <a href="https://www.econstor.eu/handle/10419/174191">Does daylight
  941. saving save electricity? A meta-analysis</a>. <em>Energy J.</em>
  942. 2018;39(2).
  943. doi:<a href="https://doi.org/10.5547/01956574.39.2.thav">10.5547/01956574.39.2.thav</a>.
  944. This analyzes research literature and concludes, "Electricity savings
  945. are larger for countries farther away from the equator, while
  946. subtropical regions consume more electricity because of <abbr>DST</abbr>."</li>
  947. <li>Rishi MA, Ahmed O, Barrantes Perez JH <em>et al</em>.
  948. <a href="https://jcsm.aasm.org/doi/10.5664/jcsm.8780">Daylight saving time:
  949. an American Academy of Sleep Medicine position statement</a>.
  950. <em>J Clin Sleep Med.</em>
  951. 2020;<a href="https://doi.org/10.5664/jcsm.8780">10.5664/jcsm.8780</a>.
  952. This argues for permanent standard time due to health risks of both
  953. <abbr>DST</abbr> transitions and permanent <abbr>DST</abbr>.</li>
  954. <li>Roenneberg T, Winnebeck EC, Klerman EB.
  955. <a href="https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6692659/">Daylight
  956. saving time and artificial time zones &ndash; a battle between
  957. biological and social times</a>. <em>Front Physiol.</em> 2019;10:944.
  958. doi:<a href="https://doi.org/10.3389/fphys.2019.00944">10.3389/fphys.2019.00944</a>.
  959. This reviews evidence about the health effects of <abbr>DST</abbr>
  960. and concludes,
  961. "In summary, the scientific literature strongly argues against the
  962. switching between <abbr>DST</abbr> and Standard Time and even more so against
  963. adopting <abbr>DST</abbr> permanently."</li>
  964. </ul>
  965. </section>
  966. <section>
  967. <h2 id="precision">Precision timekeeping</h2>
  968. <ul>
  969. <li><a
  970. href="http://leapsecond.com/hpan/an1289.pdf">The
  971. Science of Timekeeping</a> is a thorough introduction
  972. to the theory and practice of precision timekeeping.</li>
  973. <li><a href="https://doi.org/10.1007/978-3-319-59909-0">The Science of
  974. Time 2016</a> contains several freely-readable papers.</li>
  975. <li><a href="http://www.ntp.org"><abbr
  976. title="Network Time Protocol">NTP</abbr>: The Network
  977. Time Protocol</a> (Internet <abbr>RFC</abbr> 5905)
  978. discusses how to synchronize clocks of
  979. Internet hosts.</li>
  980. <li>The <a href="https://www.usenix.org/system/files/conference/nsdi18/nsdi18-geng.pdf"><span style="font-variant: small-caps">Huygens</span></a>
  981. family of software algorithms can achieve accuracy to a few tens of
  982. nanoseconds in scalable server farms without special hardware.</li>
  983. <li>The <a
  984. href="https://www.nist.gov/intelligent-systems-division/ieee-1588">Precision
  985. Time Protocol</a> (<abbr
  986. title="Institute of Electrical and Electronics Engineers">IEEE</abbr> 1588)
  987. can achieve submicrosecond clock accuracy on a local area network
  988. with special-purpose hardware.</li>
  989. <li><a
  990. href="https://tools.ietf.org/html/rfc4833">Timezone
  991. Options for <abbr title="Dynamic Host Configuration Protocol">DHCP</abbr></a>
  992. (Internet <abbr>RFC</abbr> 4833)
  993. specifies a <a
  994. href="https://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol"><abbr>DHCP</abbr></a>
  995. option for a server to configure
  996. a client's time zone and daylight saving settings automatically.</li>
  997. <li><a
  998. href="https://www.cv.nrao.edu/~rfisher/Ephemerides/times.html">Astronomical
  999. Times</a> explains more abstruse astronomical time scales like
  1000. <abbr title="Terrestrial Dynamic Time">TDT</abbr>,
  1001. <abbr title="Geocentric Coordinate Time">TCG</abbr>, and
  1002. <abbr title="Barycentric Dynamic Time">TDB</abbr>.
  1003. <a href="https://www.ucolick.org/~sla/leapsecs/timescales.html">Time
  1004. Scales</a> goes into more detail, particularly for historical variants.</li>
  1005. <li>The <a href="https://www.iau.org"><abbr
  1006. title="International Astronomical Union">IAU</abbr></a>'s <a
  1007. href="http://www.iausofa.org"><abbr
  1008. title="Standards Of Fundamental Astronomy">SOFA</abbr></a>
  1009. collection contains C and <a
  1010. href="https://en.wikipedia.org/wiki/Fortran">Fortran</a>
  1011. code for converting among time scales like
  1012. <abbr title="International Atomic Time">TAI</abbr>,
  1013. <abbr>TDB</abbr>, <abbr>TDT</abbr> and
  1014. <abbr>UTC</abbr>.</li>
  1015. <li><a
  1016. href="https://www.giss.nasa.gov/tools/mars24/help/notes.html">Mars24 Sunclock
  1017. &ndash; Time on Mars</a> describes Airy Mean Time (<abbr>AMT</abbr>) and the
  1018. diverse local time
  1019. scales used by each landed mission on Mars.</li>
  1020. <li><a href="http://leapsecond.com">LeapSecond.com</a> is
  1021. dedicated not only to leap seconds but to precise time and frequency
  1022. in general. It covers the state of the art in amateur timekeeping, and
  1023. how the art has progressed over the past few decades.</li>
  1024. <li>The rules for leap seconds are specified in Annex 1 (Time scales) of <a
  1025. href="https://www.itu.int/rec/R-REC-TF.460-6-200202-I/">Standard-frequency
  1026. and time-signal emissions</a>, International Telecommunication Union &ndash;
  1027. Radiocommunication Sector (ITU-R) Recommendation TF.460-6 (02/2002).</li>
  1028. <li><a
  1029. href="https://www.iers.org/IERS/EN/Publications/Bulletins/bulletins.html"><abbr
  1030. title="International Earth Rotation and Reference Systems Service">IERS</abbr>
  1031. Bulletins</a> contains official publications of the International
  1032. Earth Rotation and Reference Systems Service, which decides when leap
  1033. seconds occur. The <code><abbr>tz</abbr></code> code and data support leap seconds
  1034. via an optional "<code>right</code>" configuration where a computer's internal
  1035. <code>time_t</code> integer clock counts every <abbr>TAI</abbr> second,
  1036. as opposed to the default "<code>posix</code>" configuration
  1037. where the internal clock ignores leap seconds.
  1038. The two configurations agree for timestamps starting with 1972-01-01 00:00:00
  1039. <abbr>UTC</abbr> (<code>time_t</code> 63&thinsp;072&thinsp;000) and diverge for
  1040. timestamps starting with <code>time_t</code> 78&thinsp;796&thinsp;800,
  1041. which corresponds to the first leap second
  1042. 1972-06-30 23:59:60 <abbr>UTC</abbr> in the "<code>right</code>" configuration,
  1043. and to
  1044. 1972-07-01 00:00:00 <abbr>UTC</abbr> in the "<code>posix</code>" configuration.
  1045. In practice the two configurations also agree for timestamps before
  1046. 1972 even though the historical situation is messy, partly because
  1047. neither <abbr>UTC</abbr> nor <abbr>TAI</abbr>
  1048. is well-defined for sufficiently-old timestamps.</li>
  1049. <li><a href="https://developers.google.com/time/smear">Leap Smear</a>
  1050. discusses how to gradually adjust <abbr>POSIX</abbr> clocks near a
  1051. leap second so that they disagree with <abbr>UTC</abbr> by at most a
  1052. half second, even though every <abbr>POSIX</abbr> minute has exactly
  1053. sixty seconds. This approach works with the default <code><abbr>tz</abbr></code>
  1054. "<code>posix</code>" configuration, is <a
  1055. href="http://bk1.ntp.org/ntp-stable/README.leapsmear">supported</a> by
  1056. the <abbr>NTP</abbr> reference implementation, and is used by major
  1057. cloud service providers. However, according to
  1058. <a href="https://tools.ietf.org/html/rfc8633#section-3.7.1">&sect;3.7.1 of
  1059. Network Time Protocol Best Current Practices</a>
  1060. (Internet <abbr>RFC</abbr> 8633), leap smearing is not suitable for
  1061. applications requiring accurate <abbr>UTC</abbr> or civil time,
  1062. and is intended for use only in single, well-controlled environments.</li>
  1063. <li>The <a
  1064. href="https://pairlist6.pair.net/mailman/listinfo/leapsecs">Leap
  1065. Second Discussion List</a> covers <a
  1066. href="https://www2.unb.ca/gge/Resources/gpsworld.november99.pdf">McCarthy
  1067. and Klepczynski's 1999 proposal to discontinue leap seconds</a>,
  1068. discussed further in
  1069. <a href="https://www.cl.cam.ac.uk/~mgk25/time/metrologia-leapsecond.pdf">The
  1070. leap second: its history and possible future</a>.
  1071. <a href="https://www.ucolick.org/~sla/leapsecs/"><abbr>UTC</abbr>
  1072. might be redefined
  1073. without Leap Seconds</a> gives pointers on this
  1074. contentious issue, which was active until 2015 and could become active
  1075. again.</li>
  1076. </ul>
  1077. </section>
  1078. <section>
  1079. <h2 id="notation">Time notation</h2>
  1080. <ul>
  1081. <li>The <a id="CLDR" href="http://cldr.unicode.org">Unicode Common Locale Data
  1082. Repository (<abbr>CLDR</abbr>) Project</a> has localizations for time
  1083. zone names, abbreviations, identifiers, and formats. For example, it
  1084. contains French translations for "Eastern European Summer Time",
  1085. "<abbr title="Eastern European Summer Time">EEST</abbr>", and
  1086. "Bucharest". Its
  1087. <a href="https://unicode.org/cldr/charts/latest/by_type/">by-type
  1088. charts</a> show these values for many locales. Data values are available in
  1089. both <abbr title="Locale Data Markup Language">LDML</abbr>
  1090. (an <abbr>XML</abbr> format) and <abbr>JSON</abbr>.
  1091. <li>
  1092. <a href="https://www.cl.cam.ac.uk/~mgk25/iso-time.html">A summary of
  1093. the international standard date and time notation</a> covers
  1094. <a
  1095. href="https://www.iso.org/standard/70907.html"><em><abbr
  1096. title="International Organization for Standardization">ISO</abbr>
  1097. 8601-1:2019 &ndash; Date and time &ndash; Representations for information
  1098. interchange &ndash; Part 1: Basic rules</em></a>.</li>
  1099. <li>
  1100. <a href="https://www.w3.org/TR/xmlschema/#dateTime"><abbr>XML</abbr>
  1101. Schema: Datatypes &ndash; dateTime</a> specifies a format inspired by
  1102. <abbr>ISO</abbr> 8601 that is in common use in <abbr>XML</abbr> data.</li>
  1103. <li><a href="https://tools.ietf.org/html/rfc5322#section-3.3">&sect;3.3 of
  1104. Internet Message Format</a> (Internet <abbr>RFC</abbr> 5322)
  1105. specifies the time notation used in email and <a
  1106. href="https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol"><abbr>HTTP</abbr></a>
  1107. headers.</li>
  1108. <li>
  1109. <a href="https://tools.ietf.org/html/rfc3339">Date and Time
  1110. on the Internet: Timestamps</a> (Internet <abbr>RFC</abbr> 3339)
  1111. specifies an <abbr>ISO</abbr> 8601
  1112. profile for use in new Internet
  1113. protocols.</li>
  1114. <li>
  1115. <a href="https://web.archive.org/web/20190130042457/https://www.hackcraft.net/web/datetime/">Date &amp; Time
  1116. Formats on the Web</a> surveys web- and Internet-oriented date and time
  1117. formats.</li>
  1118. <li>Alphabetic time zone abbreviations should not be used as unique
  1119. identifiers for <abbr>UT</abbr> offsets as they are ambiguous in
  1120. practice. For example, in English-speaking North America
  1121. "<abbr>CST</abbr>" denotes 6 hours behind <abbr>UT</abbr>,
  1122. but in China it denotes 8 hours ahead of <abbr>UT</abbr>,
  1123. and French-speaking North Americans prefer
  1124. "<abbr title="Heure Normale du Centre">HNC</abbr>" to
  1125. "<abbr>CST</abbr>". The <code><abbr>tz</abbr></code>
  1126. database contains English abbreviations for many timestamps;
  1127. unfortunately some of these abbreviations were merely the database maintainers'
  1128. inventions, and these have been removed when possible.</li>
  1129. <li>Numeric time zone abbreviations typically count hours east of
  1130. <abbr>UT</abbr>, e.g., +09 for Japan and
  1131. &minus;10 for Hawaii. However, the <abbr>POSIX</abbr>
  1132. <code><abbr>TZ</abbr></code> environment variable uses the opposite convention.
  1133. For example, one might use <code><abbr>TZ</abbr>="<abbr
  1134. title="Japan Standard Time">JST</abbr>-9"</code> and
  1135. <code><abbr>TZ</abbr>="<abbr title="Hawaii Standard Time">HST</abbr>10"</code>
  1136. for Japan and Hawaii, respectively. If the
  1137. <code><abbr>tz</abbr></code> database is available, it is usually better to use
  1138. settings like <code><abbr>TZ</abbr>="Asia/Tokyo"</code> and
  1139. <code><abbr>TZ</abbr>="Pacific/Honolulu"</code> instead, as this should avoid
  1140. confusion, handle old timestamps better, and insulate you better from
  1141. any future changes to the rules. One should never set
  1142. <abbr>POSIX</abbr> <code><abbr>TZ</abbr></code> to a value like
  1143. <code>"GMT-9"</code>, though, since this would incorrectly imply that
  1144. local time is nine hours ahead of <abbr>UT</abbr> and the time zone
  1145. is called "<abbr>GMT</abbr>".</li>
  1146. </ul>
  1147. </section>
  1148. <section>
  1149. <h2 id="see-also">See also</h2>
  1150. <ul>
  1151. <li><a href="theory.html">Theory and pragmatics of the
  1152. <code><abbr>tz</abbr></code> code and data</a></li>
  1153. <li><a href="tz-art.html">Time and the Arts</a></li>
  1154. </ul>
  1155. </section>
  1156. <footer>
  1157. <hr>
  1158. This web page is in the public domain, so clarified as of
  1159. 2009-05-17 by Arthur David Olson.
  1160. <br>
  1161. Please send corrections to this web page to the
  1162. <a href="mailto:tz@iana.org">time zone mailing list</a>.
  1163. </footer>
  1164. </body>
  1165. </html>