tz-link.html revision 1.6
11.1Schristos<!DOCTYPE html>
21.1Schristos<html lang="en">
31.1Schristos<head>
41.1Schristos<title>Sources for time zone and daylight saving time data</title>
51.1Schristos<meta charset="UTF-8">
61.2Schristos<style>
71.2Schristospre {margin-left: 2em; white-space: pre-wrap;}
81.2Schristos</style>
91.1Schristos</head>
101.1Schristos<body>
111.1Schristos<h1>Sources for time zone and daylight saving time data</h1>
121.1Schristos<p>
131.1Schristos<a href="https://en.wikipedia.org/wiki/Time_zone">Time zone</a> and
141.1Schristos<a href="https://en.wikipedia.org/wiki/Daylight_saving_time">daylight-saving</a>
151.1Schristosrules are controlled by individual
161.1Schristosgovernments. They are sometimes changed with little notice, and their
171.1Schristoshistories and planned futures are often recorded only fitfully. Here
181.1Schristosis a summary of attempts to organize and record relevant data in this
191.1Schristosarea.
201.1Schristos</p>
211.6Schristos  <h3>Outline</h3>
221.6Schristos  <nav>
231.6Schristos    <ul>
241.6Schristos      <li>The <code><abbr>tz</abbr></code> database product and process
251.6Schristos	<ul>
261.6Schristos	  <li><a href="#tzdb">The <code><abbr>tz</abbr></code> database</a></li>
271.6Schristos	  <li><a href="#download">Downloading the <code><abbr>tz</abbr></code> database</a></li>
281.6Schristos	  <li><a href="#changes">Changes to the <code><abbr>tz</abbr></code> database</a></li>
291.6Schristos	  <li><a href="#commentary">Commentary on the <code><abbr>tz</abbr></code> database</a></li>
301.6Schristos	</ul>
311.6Schristos      </li>
321.6Schristos      <li>Uses of the <code><abbr>tz</abbr></code> database
331.6Schristos	<ul>
341.6Schristos	  <li><a href="#web">Web sites using recent versions of the <code><abbr>tz</abbr></code> database</a></li>
351.6Schristos	  <li><a href="#protocols">Network protocols for <code><abbr>tz</abbr></code> data</a></li>
361.6Schristos	  <li><a href="#compilers">Other <code><abbr>tz</abbr></code> compilers</a></li>
371.6Schristos	  <li><a href="#TZif">Other <abbr>TZif</abbr> readers</a></li>
381.6Schristos	  <li><a href="#software">Other <code><abbr>tz</abbr></code>-based time zone software</a></li>
391.6Schristos	</ul>
401.6Schristos      </li>
411.6Schristos      <li>Related data
421.6Schristos	<ul>
431.6Schristos	  <li><a href="#other-dbs">Other time zone databases</a></li>
441.6Schristos	  <li><a href="#maps">Maps</a></li>
451.6Schristos	  <li><a href="#boundaries">Time zone boundaries</a></li>
461.6Schristos	</ul>
471.6Schristos      </li>
481.6Schristos      <li>Timekeeping concepts
491.6Schristos	<ul>
501.6Schristos	  <li><a href="#civil">Civil time concepts and history</a></li>
511.6Schristos	  <li><a href="#national">National histories of legal time</a></li>
521.6Schristos	  <li><a href="#precision">Precision timekeeping</a></li>
531.6Schristos	  <li><a href="#notation">Time notation</a></li>
541.6Schristos	  <li><a href="#see-also">See also</a></li>
551.6Schristos	</ul>
561.6Schristos      </li>
571.6Schristos    </ul>
581.6Schristos  </nav>
591.6Schristos
601.6Schristos<section>
611.1Schristos<h2 id="tzdb">The <code><abbr title="time zone">tz</abbr></code> database</h2>
621.1Schristos<p>
631.1SchristosThe <a href="https://en.wikipedia.org/wiki/Public_domain">public-domain</a>
641.1Schristostime zone database contains code and data
651.1Schristosthat represent the history of local time
661.1Schristosfor many representative locations around the globe.
671.1SchristosIt is updated periodically to reflect changes made by political bodies
681.1Schristosto time zone boundaries and daylight saving rules.
691.1SchristosThis database (known as <code><abbr>tz</abbr></code>,
701.1Schristos<code><abbr>tzdb</abbr></code>, or <code>zoneinfo</code>)
711.1Schristosis used by several implementations,
721.1Schristosincluding
731.1Schristos<a href="https://www.gnu.org/software/libc/">the
741.1Schristos<abbr title="GNU's Not Unix">GNU</abbr>
751.1SchristosC Library</a> (used in
761.1Schristos<a href="https://en.wikipedia.org/wiki/Linux"><abbr>GNU</abbr>/Linux</a>),
771.1Schristos<a href="https://www.android.com">Android</a>,
781.1Schristos<a href="https://www.freebsd.org">Free<abbr
791.1Schristostitle="Berkeley Software Distribution">BSD</abbr></a>,
801.1Schristos<a href="https://netbsd.org">Net<abbr>BSD</abbr></a>,
811.1Schristos<a href="https://www.openbsd.org">Open<abbr>BSD</abbr></a>,
821.1Schristos<a href="https://www.chromium.org/chromium-os">Chromium OS</a>,
831.1Schristos<a href="https://cygwin.com">Cygwin</a>,
841.1Schristos<a href="https://en.wikipedia.org/wiki/MINIX">MINIX</a>,
851.1Schristos<a href="https://www.mysql.com">MySQL</a>,
861.1Schristos<a href="https://en.wikipedia.org/wiki/WebOS"><abbr
871.1Schristostitle="Web Operating System">webOS</abbr></a>,
881.1Schristos<a href="https://ibm.com/aix"><abbr
891.1Schristostitle="Advanced Interactive eXecutive">AIX</abbr></a>,
901.1Schristos<a href="https://en.wikipedia.org/wiki/BlackBerry_10">BlackBerry 10</a>,
911.6Schristos<a href="https://www.apple.com/ios"><abbr
921.1Schristostitle="iPhone OS">iOS</abbr></a>,
931.6Schristos<a href="https://www.apple.com/macos">macOS</a>,
941.1Schristos<a href="https://www.microsoft.com/en-us/windows">Microsoft Windows</a>,
951.6Schristos<a href="https://www.vmssoftware.com">Open<abbr
961.1Schristostitle="Virtual Memory System">VMS</abbr></a>,
971.6Schristos<a href="https://www.oracle.com/database/">Oracle Database</a>, and
981.1Schristos<a href="https://www.oracle.com/solaris">Oracle Solaris</a>.</p>
991.1Schristos<p>
1001.2SchristosEach main entry in the database represents a <dfn>timezone</dfn>
1011.2Schristosfor a set of civil-time clocks that have all agreed since 1970.
1021.2SchristosTimezones are typically identified by continent or ocean and then by the
1031.2Schristosname of the largest city within the region containing the clocks.
1041.1SchristosFor example, <code>America/New_York</code>
1051.1Schristosrepresents most of the <abbr title="United States">US</abbr> eastern time zone;
1061.1Schristos<code>America/Phoenix</code> represents most of Arizona, which
1071.2Schristosuses mountain time without daylight saving time (<abbr>DST</abbr>);
1081.1Schristos<code>America/Detroit</code> represents most of Michigan, which uses
1091.1Schristoseastern time but with different <abbr>DST</abbr> rules in 1975;
1101.1Schristosand other entries represent smaller regions like Starke County,
1111.1SchristosIndiana, which switched from central to eastern time in 1991
1121.1Schristosand switched back in 2006.
1131.1SchristosTo use the database on an extended <a
1141.1Schristoshref="https://en.wikipedia.org/wiki/POSIX"><abbr
1151.1Schristostitle="Portable Operating System Interface">POSIX</abbr></a>
1161.1Schristosimplementation set the <code><abbr>TZ</abbr></code>
1171.1Schristosenvironment variable to the location's full name,
1181.1Schristose.g., <code><abbr>TZ</abbr>="America/New_York"</code>.</p>
1191.1Schristos<p>
1201.2SchristosAssociated with each timezone is a history of offsets from
1211.1Schristos<a href="https://en.wikipedia.org/wiki/Universal_Time">Universal
1221.1SchristosTime</a> (<abbr>UT</abbr>), which is <a
1231.1Schristoshref="https://en.wikipedia.org/wiki/Greenwich_Mean_Time">Greenwich Mean
1241.1SchristosTime</a> (<abbr>GMT</abbr>) with days beginning at midnight;
1251.2Schristosfor timestamps after 1960 this is more precisely <a
1261.1Schristoshref="https://en.wikipedia.org/wiki/Coordinated_Universal_Time">Coordinated
1271.1SchristosUniversal Time</a> (<abbr>UTC</abbr>).
1281.1SchristosThe database also records when daylight saving time was in use,
1291.1Schristosalong with some time zone abbreviations such as <abbr>EST</abbr>
1301.1Schristosfor Eastern Standard Time in the <abbr>US</abbr>.</p>
1311.6Schristos</section>
1321.6Schristos
1331.6Schristos<section>
1341.1Schristos<h2 id="download">Downloading the <code><abbr>tz</abbr></code> database</h2>
1351.1Schristos<p>
1361.1SchristosThe following <a
1371.1Schristoshref="https://en.wikipedia.org/wiki/Unix_shell">shell</a> commands download
1381.1Schristosthe latest release's two
1391.1Schristos<a href="https://en.wikipedia.org/wiki/Tar_(computing)">tarballs</a>
1401.1Schristosto a <abbr>GNU</abbr>/Linux or similar host.</p>
1411.2Schristos<pre><code>mkdir tzdb
1421.1Schristoscd tzdb
1431.1Schristos<a href="https://www.gnu.org/software/wget/">wget</a> https://www.iana.org/time-zones/repository/tzcode-latest.tar.gz
1441.1Schristoswget https://www.iana.org/time-zones/repository/tzdata-latest.tar.gz
1451.1Schristos<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 -
1461.1Schristosgzip -dc tzdata-latest.tar.gz | tar -xf -
1471.1Schristos</code></pre>
1481.1Schristos<p>Alternatively, the following shell commands download the same
1491.1Schristosrelease in a single-tarball format containing extra data
1501.1Schristosuseful for regression testing:</p>
1511.2Schristos<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>
1521.1Schristos<a href="https://www.nongnu.org/lzip/">lzip</a> -dc tzdb-latest.tar.lz | tar -xf -
1531.1Schristos</code></pre>
1541.1Schristos<p>These commands use convenience links to the latest release
1551.1Schristosof the <code><abbr>tz</abbr></code> database hosted by the
1561.1Schristos<a href="https://www.iana.org/time-zones">Time Zone Database website</a>
1571.1Schristosof the <a href="https://www.iana.org">Internet Assigned Numbers
1581.1SchristosAuthority (IANA)</a>.
1591.1SchristosOlder releases are in files named
1601.1Schristos<code>tzcode<var>V</var>.tar.gz</code>,
1611.1Schristos<code>tzdata<var>V</var>.tar.gz</code>, and
1621.1Schristos<code>tzdb-<var>V</var>.tar.lz</code>,
1631.1Schristoswhere <code><var>V</var></code> is the version.
1641.1SchristosSince 1996, each version has been a four-digit year followed by
1651.1Schristoslower-case letter (<samp>a</samp> through <samp>z</samp>,
1661.1Schristosthen <samp>za</samp> through <samp>zz</samp>, then <samp>zza</samp>
1671.1Schristosthrough <samp>zzz</samp>, and so on).
1681.1SchristosSince version 2016h, each release has contained a text file named
1691.1Schristos"<samp>version</samp>" whose first (and currently only) line is the version.
1701.1SchristosThe releases are also available in an
1711.1Schristos<a href="ftp://ftp.iana.org/tz/releases/"><abbr
1721.1Schristostitle="File Transfer Protocol">FTP</abbr> directory</a> via a
1731.1Schristosless-secure protocol.</p>
1741.1Schristos<p>Alternatively, a development repository of code and data can be
1751.1Schristosretrieved from <a href="https://github.com">GitHub</a> via the shell
1761.1Schristoscommand:</p>
1771.2Schristos<pre><code><a href="https://git-scm.com">git</a> clone <a href="https://github.com/eggert/tz">https://github.com/eggert/tz</a>
1781.1Schristos</code></pre>
1791.1Schristos<p>
1801.1SchristosSince version 2012e, each release has been tagged in development repositories.
1811.1SchristosUntagged commits are less well tested and probably contain
1821.1Schristosmore errors.</p>
1831.1Schristos<p>
1841.1SchristosAfter obtaining the code and data files, see the
1851.1Schristos<code>README</code> file for what to do next.
1861.1SchristosThe code lets you compile the <code><abbr>tz</abbr></code> source files into
1871.2Schristosmachine-readable binary files, one for each location. The binary files
1881.5Schristosare in a special timezone information format (<dfn><abbr>TZif</abbr></dfn>)
1891.5Schristosspecified by <a href="https://tools.ietf.org/html/8536">Internet
1901.5Schristos<abbr>RFC</abbr> 8536</a>.
1911.2SchristosThe code also lets
1921.2Schristosyou read a <abbr>TZif</abbr> file and interpret timestamps for that
1931.1Schristoslocation.</p>
1941.6Schristos</section>
1951.6Schristos
1961.6Schristos<section>
1971.1Schristos<h2 id="changes">Changes to the <code><abbr>tz</abbr></code> database</h2>
1981.1Schristos<p>
1991.1SchristosThe <code><abbr>tz</abbr></code> code and data
2001.1Schristosare by no means authoritative. If you find errors, please
2011.1Schristossend changes to <a href="mailto:tz@iana.org"><code>tz@iana.org</code></a>,
2021.1Schristosthe time zone mailing list. You can also <a
2031.1Schristoshref="https://mm.icann.org/mailman/listinfo/tz">subscribe</a> to it
2041.1Schristosand browse the <a
2051.1Schristoshref="https://mm.icann.org/pipermail/tz/">archive of old
2061.5Schristosmessages</a>.
2071.5Schristos<a href="https://tzdata-meta.timtimeonline.com/">Metadata for mailing list
2081.5Schristosdiscussions</a> and corresponding data changes can be
2091.5Schristosgenerated <a href="https://github.com/timparenti/tzdata-meta">automatically</a>.
2101.5Schristos</p>
2111.1Schristos<p>
2121.1SchristosIf your government plans to change its time zone boundaries or
2131.1Schristosdaylight saving rules, inform <code>tz@iana.org</code> well in
2141.1Schristosadvance, as this will coordinate updates to many cell phones,
2151.1Schristoscomputers, and other devices around the world. With
2161.1Schristosless than a year's notice there is a good chance that some
2171.1Schristoscomputer-based clocks will operate incorrectly after the change, due
2181.1Schristosto delays in propagating updates to software and data. The shorter
2191.1Schristosthe notice, the more likely clock problems will arise; see "<a
2201.1Schristoshref="https://codeofmatt.com/2016/04/23/on-the-timing-of-time-zone-changes/">On
2211.1Schristosthe Timing of Time Zone Changes</a>" for examples.
2221.1Schristos</p>
2231.1Schristos<p>
2241.1SchristosChanges to the <code><abbr>tz</abbr></code> code and data are often
2251.1Schristospropagated to clients via operating system updates, so
2261.1Schristosclient <code><abbr>tz</abbr></code> data can often be corrected by
2271.1Schristosapplying these updates. With GNU/Linux and similar systems, if your
2281.1Schristosmaintenance provider has not yet adopted the
2291.1Schristoslatest <code><abbr>tz</abbr></code> data, you can often short-circuit
2301.1Schristosthe process by tailoring the generic instructions in
2311.1Schristosthe <code><abbr>tz</abbr> README</code> file and installing the latest
2321.1Schristosdata yourself. System-specific instructions for installing the
2331.1Schristoslatest <code><abbr>tz</abbr></code> data have also been published
2341.1Schristosfor <a href="https://www.ibm.com/developerworks/aix/library/au-aix-olson-time-zone/index.html"><abbr>AIX</abbr></a>,
2351.1Schristos<a
2361.1Schristoshref="https://play.google.com/store/apps/details?id=com.google.android.timezone.data">Android</a>,
2371.1Schristos<a
2381.1Schristoshref="http://userguide.icu-project.org/datetime/timezone"><abbr
2391.1Schristostitle="International Components for Unicode">ICU</abbr></a>,
2401.1Schristos<a href="https://developer.ibm.com/javasdk/support/dst/jtzu/"><abbr>IBM</abbr></a>
2411.1Schristosand <a
2421.4Schristoshref="https://www.oracle.com/technetwork/java/javase/tzupdater-readme-136440.html">Oracle</a>
2431.4SchristosJava, <a href="https://www.joda.org/joda-time/tz_update.html">Joda-Time</a>, <a
2441.1Schristoshref="https://dev.mysql.com/doc/refman/en/time-zone-support.html">MySQL</a>,
2451.1Schristosand <a
2461.1Schristoshref="https://nodatime.org/userguide/tzdb">Noda Time</a> (see below).
2471.1Schristos</p>
2481.1Schristos<p>Sources for the <code><abbr>tz</abbr></code> database are
2491.1Schristos<a href="https://en.wikipedia.org/wiki/UTF-8"><abbr
2501.1Schristostitle="Unicode Transformation Format 8-bit">UTF-8</abbr></a>
2511.1Schristos<a href="https://en.wikipedia.org/wiki/Text_file">text files</a>
2521.1Schristoswith lines terminated by <a href="https://en.wikipedia.org/wiki/Newline"><abbr
2531.1Schristostitle="linefeed">LF</abbr></a>,
2541.1Schristoswhich can be modified by common text editors such
2551.1Schristosas <a href="https://www.gnu.org/software/emacs/">GNU Emacs</a>,
2561.1Schristos<a href="https://wiki.gnome.org/Apps/Gedit">gedit</a>, and
2571.1Schristos<a href="https://www.vim.org">vim</a>.
2581.1SchristosSpecialized source-file editing can be done via the
2591.1Schristos<a href="https://packagecontrol.io/packages/zoneinfo">Sublime
2601.1Schristoszoneinfo</a> package for <a
2611.1Schristoshref="https://www.sublimetext.com">Sublime Text</a> and the <a
2621.1Schristoshref="https://marketplace.visualstudio.com/items?itemName=gilmoreorless.vscode-zoneinfo">VSCode
2631.1Schristoszoneinfo</a> extension for <a href="https://code.visualstudio.com">Visual
2641.1SchristosStudio Code</a>.
2651.1Schristos</p>
2661.1Schristos<p>
2671.1SchristosFor further information about updates, please see
2681.1Schristos<a href="https://tools.ietf.org/html/rfc6557">Procedures for
2691.1SchristosMaintaining the Time Zone Database</a> (Internet <abbr
2701.1Schristostitle="Request For Comments">RFC</abbr> 6557). More detail can be
2711.1Schristosfound in <a href="theory.html">Theory and pragmatics of the tz code and data</a>.
2721.2Schristos<a href="https://a0.github.io/a0-tzmigration/">A0 TimeZone Migration</a>
2731.2Schristosdisplays changes between recent <code><abbr>tzdb</abbr></code> versions.
2741.1Schristos</p>
2751.6Schristos</section>
2761.6Schristos
2771.6Schristos<section>
2781.1Schristos<h2 id="commentary">Commentary on the <code><abbr>tz</abbr></code> database</h2>
2791.1Schristos<ul>
2801.1Schristos<li>The article
2811.1Schristos<a href="https://en.wikipedia.org/wiki/Tz_database">tz database</a> is
2821.1Schristosan encyclopedic summary.</li>
2831.1Schristos<li><a href="tz-how-to.html">How to Read the
2841.1Schristostz Database Source Files</a> explains the <code><abbr>tz</abbr></code>
2851.1Schristosdatabase format.</li>
2861.1Schristos<li><a
2871.1Schristoshref="https://blog.jonudell.net/2009/10/23/a-literary-appreciation-of-the-olsonzoneinfotz-database/">A
2881.1Schristosliterary appreciation of the Olson/Zoneinfo/tz database</a> comments on the
2891.1Schristosdatabase's style.</li>
2901.1Schristos</ul>
2911.6Schristos</section>
2921.6Schristos
2931.6Schristos<section>
2941.1Schristos<h2 id="web">Web sites using recent versions of the
2951.1Schristos<code><abbr>tz</abbr></code> database</h2>
2961.1Schristos<p>
2971.1SchristosThese are listed roughly in ascending order of complexity and fanciness.
2981.1Schristos</p>
2991.1Schristos<ul>
3001.1Schristos<li><a href="https://time.is">Time.is</a> shows locations'
3011.1Schristostime and zones.</li>
3021.1Schristos<li><a href="https://www.timejones.com">TimeJones.com</a>,
3031.1Schristos<a href="https://timezoneconverterapp.com">Time Zone Converter</a> and
3041.6Schristos<a href="https://worldclock.com">The World Clock</a>
3051.1Schristosare time zone converters.</li>
3061.1Schristos<li><a
3071.6Schristoshref="https://twiki.org/cgi-bin/xtra/tzdatepick.html">Date and Time Gateway</a>
3081.1Schristoslets you see the <code><abbr>TZ</abbr></code> values directly.</li>
3091.1Schristos<li><a
3101.1Schristoshref="http://www.convertit.com/Go/ConvertIt/World_Time/Current_Time.ASP">Current
3111.1SchristosTime in 1000 Places</a> uses descriptions of the values.</li>
3121.6Schristos<li><a href="https://timezoneconverterapp.com/">Time Zone Converter</a>
3131.1Schristosuses a pulldown menu.</li>
3141.1Schristos<li><a href="http://home.kpn.nl/vanadovv/time/TZworld.html">Complete
3151.1Schristostimezone information for all countries</a> displays tables of DST rules.
3161.1Schristos<li><a href="https://www.timeanddate.com/worldclock/">The World Clock &ndash;
3171.1SchristosWorldwide</a> lets you sort zone names and convert times.</li>
3181.1Schristos<li><a href="https://24timezones.com">24TimeZones</a> has a world
3191.1Schristostime map and a time converter.</li>
3201.1Schristos<li><a href="https://www.zeitverschiebung.net/en/">Time Difference</a>
3211.1Schristoscalculates the current time difference between locations.</li>
3221.1Schristos<li><a href="http://www.wx-now.com">Weather Now</a> and
3231.1Schristos<a href="http://www.thetimenow.com">The Time Now</a> list the weather too.</li>
3241.1Schristos</ul>
3251.6Schristos</section>
3261.6Schristos
3271.6Schristos<section>
3281.1Schristos<h2 id="protocols">Network protocols for <code><abbr>tz</abbr></code> data</h2>
3291.1Schristos<ul>
3301.1Schristos<li>The <a href="https://www.ietf.org">Internet Engineering Task Force</a>'s
3311.1Schristos<a href="https://datatracker.ietf.org/wg/tzdist/charter/">Time Zone Data
3321.1SchristosDistribution Service (tzdist) working group</a> defined <a
3331.1Schristoshref="https://tools.ietf.org/html/rfc7808">TZDIST</a>
3341.1Schristos(Internet <abbr>RFC</abbr> 7808), a time zone data distribution service,
3351.1Schristosalong with <a href="https://tools.ietf.org/html/rfc7809">CalDAV</a>
3361.1Schristos(Internet <abbr>RFC</abbr> 7809), a calendar access protocol for
3371.2Schristostransferring time zone data by reference.
3381.2SchristosThe <a href="https://www.ietf.org/mailman/listinfo/tzdist-bis">tzdist-bis
3391.6Schristosmailing list</a> discussed the Internet draft <a
3401.1Schristosid="TZDIST-Geolocate"
3411.2Schristoshref="https://tools.ietf.org/html/draft-murchison-tzdist-geolocate">TZDIST
3421.6SchristosGeolocate Extension</a> (now expired), which let a client determine its timezone
3431.1Schristosfrom its geographic location using a <a
3441.5Schristoshref="https://tools.ietf.org/html/rfc5870">'geo' URI</a>.</li>
3451.1Schristos<li>The <a href="https://tools.ietf.org/html/rfc5545">
3461.1SchristosInternet Calendaring and Scheduling Core Object Specification
3471.1Schristos(iCalendar)</a> (Internet <abbr>RFC</abbr> 5445)
3481.1Schristoscovers time zone
3491.1Schristosdata; see its VTIMEZONE calendar component.
3501.1SchristosThe iCalendar format requires specialized parsers and generators; a
3511.1Schristosvariant <a href="https://tools.ietf.org/html/rfc6321">xCal</a>
3521.1Schristos(Internet <abbr>RFC</abbr> 6321) uses
3531.1Schristos<a href="https://www.w3.org/XML/"><abbr
3541.1Schristostitle="Extensible Markup Language">XML</abbr></a> format, and a variant
3551.1Schristos<a href="https://tools.ietf.org/html/rfc7265">jCal</a>
3561.1Schristos(Internet <abbr>RFC</abbr> 7265)
3571.1Schristosuses <a href="https://www.json.org"><abbr
3581.1Schristostitle="JavaScript Object Notation">JSON</abbr></a> format.</li>
3591.1Schristos</ul>
3601.6Schristos</section>
3611.6Schristos
3621.6Schristos<section>
3631.1Schristos<h2 id="compilers">Other <code><abbr>tz</abbr></code> compilers</h2>
3641.1Schristos<ul>
3651.1Schristos<li><a href="https://sourceforge.net/projects/vzic/">Vzic</a> is a <a
3661.1Schristoshref="https://en.wikipedia.org/wiki/C_%28programming_language%29">C</a>
3671.1Schristosprogram that compiles
3681.1Schristos<code><abbr>tz</abbr></code> source into iCalendar-compatible VTIMEZONE files.
3691.1SchristosVzic is freely
3701.1Schristosavailable under the <a
3711.1Schristoshref="https://www.gnu.org/copyleft/gpl.html"><abbr>GNU</abbr>
3721.1SchristosGeneral Public License (<abbr
3731.1Schristostitle="General Public License">GPL</abbr>)</a>.</li>
3741.1Schristos<li><a href="https://sourceforge.net/projects/tzical/">tziCal &ndash; tz
3751.1Schristosdatabase conversion utility</a> is like Vzic, except for the <a
3761.6Schristoshref="https://dotnet.microsoft.com">.NET framework</a>
3771.1Schristosand with a <abbr>BSD</abbr>-style license.</li>
3781.1Schristos<li><a
3791.4Schristoshref="https://metacpan.org/release/DateTime-TimeZone">DateTime::TimeZone</a>
3801.1Schristoscontains a script <code>parse_olson</code> that compiles
3811.1Schristos<code><abbr>tz</abbr></code> source into <a href="https://www.perl.org">Perl</a>
3821.1Schristosmodules. It is part of the Perl <a
3831.4Schristoshref="https://github.com/houseabsolute/DateTime.pm/wiki">DateTime Project</a>,
3841.4Schristoswhich is freely
3851.1Schristosavailable under both the <abbr>GPL</abbr> and the Perl Artistic
3861.1SchristosLicense. DateTime::TimeZone also contains a script
3871.1Schristos<code>tests_from_zdump</code> that generates test cases for each clock
3881.1Schristostransition in the <code><abbr>tz</abbr></code> database.</li>
3891.1Schristos<li>The <a href="https://howardhinnant.github.io/date/tz.html">Time Zone
3901.1SchristosDatabase Parser</a> is a
3911.1Schristos<a href="https://en.wikipedia.org/wiki/C%2B%2B">C++</a> parser and
3921.1Schristosruntime library that is <a
3931.1Schristoshref="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0355r4.html">moving
3941.6Schristosforward</a> for inclusion in
3951.6Schristos<a href="https://en.wikipedia.org/wiki/C++20">C++20</a>,
3961.6Schristosthe next iteration of the C++ standard.
3971.1SchristosIt is freely available under the
3981.1Schristos<abbr title="Massachusetts Institute of Technology">MIT</abbr> license.</li>
3991.1Schristos<li><a id="ICU" href="http://site.icu-project.org">International Components for
4001.1SchristosUnicode (<abbr>ICU</abbr>)</a> contains C/C++ and <a
4011.1Schristoshref="https://en.wikipedia.org/wiki/Java_%28programming_language%29">Java</a>
4021.1Schristoslibraries for internationalization that
4031.1Schristoshas a compiler from <code><abbr>tz</abbr></code> source
4041.1Schristosand from <abbr title="Common Locale Data Repository">CLDR</abbr> data
4051.1Schristos(mentioned <a href="#CLDR">below</a>)
4061.1Schristosinto an <abbr>ICU</abbr>-specific format.
4071.1Schristos<abbr>ICU</abbr> is freely available under a
4081.1Schristos<abbr>BSD</abbr>-style license.</li>
4091.1Schristos<li>The <a href="https://github.com/lau/tzdata">Tzdata</a> package for
4101.1Schristosthe <a href="https://elixir-lang.org">Elixir</a> language downloads
4111.1Schristosand compiles tz source and exposes <abbr
4121.1Schristostitle="Application Program Interface">API</abbr>s for use. It is
4131.1Schristosfreely available under the <abbr>MIT</abbr> license.</li>
4141.1Schristos<li>Java-based compilers and libraries include:
4151.1Schristos<ul>
4161.1Schristos<li>The <a
4171.4Schristoshref="https://www.oracle.com/technetwork/java/javase/tzupdater-readme-136440.html">TZUpdater
4181.1Schristostool</a> compiles <code><abbr>tz</abbr></code> source into the format used by
4191.1SchristosOracle Java.</li>
4201.1Schristos<li>The <a
4211.4Schristoshref="https://www.oracle.com/technetwork/articles/java/jf14-date-time-2125367.html">Java
4221.6SchristosSE 8 Date and Time</a> <abbr>API</abbr> can be supplemented by <a
4231.4Schristoshref="https://www.threeten.org/threeten-extra/">ThreeTen-Extra</a>,
4241.1Schristoswhich is freely available under a <abbr>BSD</abbr>-style license.</li>
4251.4Schristos<li><a href="https://www.joda.org/joda-time/">Joda-Time &ndash; Java date
4261.1Schristosand time <abbr>API</abbr></a> contains a class
4271.1Schristos<code>org.joda.time.tz.ZoneInfoCompiler</code> that compiles
4281.1Schristos<code><abbr>tz</abbr></code> source into a binary format. It inspired
4291.1SchristosJava 8 <code>java.time</code>, which its users should migrate to once
4301.1Schristosthey can assume Java 8 or later. It is available under the <a
4311.1Schristoshref="https://www.apache.org/licenses/LICENSE-2.0">Apache License</a>.</li>
4321.4Schristos<li><a href="https://github.com/MenoData/Time4A">Time4A: Advanced date and
4331.4Schristostime library for Android</a> and
4341.4Schristos<a href="https://github.com/MenoData/Time4J/">Time4J: Advanced date,
4351.4Schristostime and interval library for Java</a> compile
4361.4Schristos<code><abbr>tz</abbr></code> source into a binary format.
4371.4SchristosTime4A is available under the Apache License and Time4J is
4381.1Schristosavailable under the <a
4391.1Schristoshref="https://www.gnu.org/copyleft/lesser.html"><abbr>GNU</abbr> Lesser
4401.1SchristosGeneral Public License (<abbr title="Lesser General Public
4411.1SchristosLicense">LGPL</abbr>)</a>.</li>
4421.1Schristos<li><abbr>ICU</abbr> (mentioned <a href="#ICU">above</a>) contains compilers and
4431.1SchristosJava-based libraries.</li>
4441.1Schristos</ul>
4451.1Schristos<li><a href="https://nodatime.org">Noda Time &ndash; Date and
4461.1Schristostime <abbr>API</abbr> for .NET</a>
4471.4Schristosis like Joda-Time and Time4J, but for the .NET framework instead of Java.
4481.4SchristosIt is freely available under the Apache License.</li>
4491.1Schristos<li><a href="https://en.wikipedia.org/wiki/JavaScript">JavaScript</a>-based
4501.1Schristoscompilers and libraries include:
4511.1Schristos<ul>
4521.1Schristos<li><a
4531.1Schristoshref="https://github.com/kshetline/compact-time-zone-generator">CompactTimeZoneGenerator</a>
4541.1Schristoscompiles time zone data into a compact form designed for
4551.1SchristosJavaScript. It is freely available under a combination of
4561.1Schristosthe <abbr>MIT</abbr> license and the Apache License.</li>
4571.1Schristos<li><a href="https://momentjs.com/timezone/">Moment Timezone</a> is a
4581.1Schristosplugin for the <a href="https://momentjs.com">Moment.js</a> date
4591.1Schristosmanipulation library. It is freely available under the <abbr>MIT</abbr>
4601.1Schristoslicense.</li>
4611.1Schristos<li><a href="https://github.com/mde/timezone-js">TimezoneJS.Date</a>'s
4621.1Schristos<abbr>API</abbr> is upward compatible with standard JavaScript
4631.1SchristosDates. It is freely available under the Apache License.</li>
4641.1Schristos</ul>
4651.1Schristos<li><a href="https://github.com/JuliaTime/">JuliaTime</a> contains a
4661.1Schristoscompiler from <code><abbr>tz</abbr></code> source into
4671.1Schristos<a href="https://julialang.org/">Julia</a>. It is freely available
4681.1Schristosunder the <abbr>MIT</abbr> license.</li>
4691.6Schristos<li><a href="https://github.com/pavkam/tzdb"><abbr>TZDB</abbr> &ndash;
4701.6Schristos<abbr>IANA</abbr> Time Zone Database for Delphi/<abbr
4711.6Schristostitle="Free Pascal Compiler">FPC</abbr></a>
4721.2Schristoscompiles from <code><abbr>tz</abbr></code> source into
4731.2Schristos<a href="https://en.wikipedia.org/wiki/Object_Pascal">Object Pascal</a>
4741.2Schristosas compiled by <a href="https://en.wikipedia.org/wiki/Delphi_(IDE)">Delphi</a>
4751.2Schristosand <a
4761.2Schristoshref="https://en.wikipedia.org/wiki/Free_Pascal"><abbr>FPC</abbr></a>.
4771.2SchristosIt is freely available under a <abbr>BSD</abbr>-style license.</li>
4781.1Schristos<li><a href="http://pytz.sourceforge.net">pytz &ndash; World Timezone
4791.1SchristosDefinitions for Python</a> compiles <code><abbr>tz</abbr></code> source into
4801.1Schristos<a href="https://www.python.org">Python</a>.
4811.1SchristosIt is freely available under a <abbr>BSD</abbr>-style license.</li>
4821.1Schristos<li><a href="https://tzinfo.github.io">TZInfo &ndash;
4831.1SchristosRuby Timezone Library</a>
4841.1Schristoscompiles <code><abbr>tz</abbr></code> source into
4851.1Schristos<a href="https://www.ruby-lang.org/en/">Ruby</a>.
4861.1SchristosIt is freely available under the <abbr>MIT</abbr> license.</li>
4871.1Schristos<li>The <a href="http://www.squeaksource.com/Chronos/">Chronos Date/Time
4881.1SchristosLibrary</a> is
4891.1Schristosa <a href="https://en.wikipedia.org/wiki/Smalltalk">Smalltalk</a> class
4901.1Schristoslibrary that compiles <code><abbr>tz</abbr></code> source into a time
4911.1Schristoszone repository whose format
4921.1Schristosis either proprietary or an <abbr>XML</abbr>-encoded
4931.1Schristosrepresentation.</li>
4941.1Schristos<li><a id="Tcl" href="https://tcl.tk">Tcl</a>
4951.1Schristoscontains a developer-oriented parser that compiles <code><abbr>tz</abbr></code>
4961.1Schristossource into text files, along with a runtime that can read those
4971.1Schristosfiles. Tcl is freely available under a <abbr>BSD</abbr>-style
4981.1Schristoslicense.</li>
4991.1Schristos</ul>
5001.6Schristos</section>
5011.6Schristos
5021.6Schristos<section>
5031.2Schristos<h2 id="TZif">Other <abbr>TZif</abbr> readers</h2>
5041.1Schristos<ul>
5051.1Schristos<li>The <a
5061.1Schristoshref="https://www.gnu.org/software/libc/"><abbr>GNU</abbr> C
5071.1SchristosLibrary</a>
5081.1Schristoshas an independent, thread-safe implementation of
5091.2Schristosa <abbr>TZif</abbr> file reader.
5101.1SchristosThis library is freely available under the LGPL
5111.1Schristosand is widely used in <abbr>GNU</abbr>/Linux systems.</li>
5121.1Schristos<li><a href="https://www.gnome.org">GNOME</a>'s
5131.1Schristos<a href="https://developer.gnome.org/glib/">GLib</a> has
5141.2Schristosa <abbr>TZif</abbr> file reader written in C that
5151.1Schristoscreates a <code>GTimeZone</code> object representing sets
5161.1Schristosof <abbr>UT</abbr> offsets.
5171.1SchristosIt is freely available under the <abbr>LGPL</abbr>.</li>
5181.1Schristos<li>The
5191.1Schristos<a href="https://github.com/bloomberg/bde/wiki">BDE Standard Library</a>'s
5201.1Schristos<code>baltzo::TimeZoneUtil</code> component contains a C++
5211.2Schristosimplementation of a <abbr>TZif</abbr> file reader. It is freely available under
5221.1Schristosthe Apache License.</li>
5231.1Schristos<li><a href="https://github.com/google/cctz">CCTZ</a> is a simple C++
5241.1Schristoslibrary that translates between <abbr>UT</abbr> and civil time and
5251.2Schristoscan read <abbr>TZif</abbr> files. It is freely available under the Apache
5261.1SchristosLicense.</li>
5271.1Schristos<li><a href="http://bmsi.com/java/#TZ">ZoneInfo.java</a>
5281.2Schristosis a <abbr>TZif</abbr> file reader written in Java.
5291.1SchristosIt is freely available under the <abbr>LGPL</abbr>.</li>
5301.1Schristos<li><a href="https://github.com/derickr/timelib">Timelib</a> is a C
5311.2Schristoslibrary that reads <abbr>TZif</abbr> files and converts
5321.2Schristostimestamps from one time zone or format to another.
5331.1SchristosIt is used by <a href="https://secure.php.net"><abbr
5341.1Schristostitle="PHP: Hypertext Preprocessor">PHP</abbr></a>,
5351.1Schristos<a href="https://hhvm.com"><abbr title="HipHop Virtual Machine">HHVM</abbr></a>,
5361.1Schristosand <a href="https://www.mongodb.com">MongoDB</a>.
5371.1SchristosIt is freely available under the <abbr>MIT</abbr> license.</li>
5381.1Schristos<li><a href="https://github.com/bigeasy/timezone">Timezone</a> is a
5391.1SchristosJavaScript library that supports date arithmetic that is time zone
5401.1Schristosaware. It is freely available under the <abbr>MIT</abbr> license.</li>
5411.1Schristos<li>Tcl, mentioned <a href="#Tcl">above</a>, also contains a
5421.2Schristos<abbr>TZif</abbr> file reader.</li>
5431.4Schristos<li><a href="https://metacpan.org/pod/DateTime::TimeZone::Tzfile">
5441.1SchristosDateTime::TimeZone::Tzfile</a>
5451.2Schristosis a <abbr>TZif</abbr> file reader written in Perl.
5461.1SchristosIt is freely available under the same terms as Perl
5471.1Schristos(dual <abbr>GPL</abbr> and Artistic license).</li>
5481.1Schristos<li>The
5491.1Schristospublic-domain <a href="https://github.com/dbaron/tz.js">tz.js</a>
5501.1Schristoslibrary contains a Python tool that
5511.2Schristosconverts <abbr>TZif</abbr> data into
5521.1Schristos<abbr>JSON</abbr>-format data suitable for use
5531.1Schristosin its JavaScript library for time zone conversion. Dates before 1970
5541.1Schristosare not supported.</li>
5551.1Schristos<li>The <a
5561.1Schristoshref="https://hackage.haskell.org/package/timezone-olson">timezone-olson</a>
5571.1Schristospackage contains <a href="https://www.haskell.org">Haskell</a> code that
5581.2Schristosparses and uses <abbr>TZif</abbr> data. It is freely
5591.1Schristosavailable under a <abbr>BSD</abbr>-style license.</li>
5601.1Schristos</ul>
5611.6Schristos</section>
5621.6Schristos
5631.6Schristos<section>
5641.1Schristos<h2 id="software">Other <code><abbr>tz</abbr></code>-based time zone software</h2>
5651.1Schristos<ul>
5661.1Schristos<li><a href="https://foxclocks.org">FoxClocks</a>
5671.1Schristosis an extension for <a href="https://www.google.com/chrome/">Google
5681.1SchristosChrome</a> and for <a
5691.1Schristoshref="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/Toolkit_API">Mozilla
5701.1SchristosToolkit</a> applications like <a
5711.1Schristoshref="https://www.mozilla.org/en-US/firefox/new/">Firefox</a> and <a
5721.1Schristoshref="https://www.mozilla.org/en-US/thunderbird/">Thunderbird</a>.
5731.1SchristosIt displays multiple clocks in the application window, and has a mapping
5741.1Schristosinterface to <a href="https://www.google.com/earth/">Google Earth</a>.
5751.1SchristosIt is freely available under the <abbr>GPL</abbr>.</li>
5761.1Schristos<li><a href="https://golang.org">Go programming language</a>
5771.1Schristosimplementations contain a copy of a 32-bit subset of a recent
5781.1Schristos<code><abbr>tz</abbr></code> database in a
5791.1SchristosGo-specific format.</li>
5801.1Schristos<li><a
5811.1Schristoshref="http://users.skynet.be/Peter.Verthez/projects/intclock/">International
5821.1Schristosclock (intclock)</a> is a clock that displays multiple time zones on
5831.1Schristos<abbr>GNU</abbr>/Linux and similar systems. It is freely available
5841.1Schristosunder the <abbr>GPL</abbr>.</li>
5851.1Schristos<li>Microsoft Windows 8.1
5861.1Schristosand later has <code><abbr>tz</abbr></code> data and <abbr>CLDR</abbr>
5871.3Schristosdata (mentioned <a href="#CLDR">below</a>) used by the
5881.3Schristos<a href="https://en.wikipedia.org/wiki/Windows_Runtime">Windows Runtime</a> /
5891.3Schristos<a href="https://en.wikipedia.org/wiki/Universal_Windows_Platform">Universal Windows Platform</a> classes
5901.3Schristos<a href="https://docs.microsoft.com/uwp/api/Windows.Globalization.DateTimeFormatting.DateTimeFormatter"><code>DateTimeFormatter</code></a> and
5911.3Schristos<a href="https://docs.microsoft.com/uwp/api/windows.globalization.calendar"><code>Calendar</code></a>.
5921.1Schristos<a id="System.TimeZoneInfo"
5931.1Schristoshref="https://blogs.msdn.microsoft.com/bclteam/2007/06/07/exploring-windows-time-zones-with-system-timezoneinfo-josh-free/">Exploring
5941.1SchristosWindows Time Zones with <code>System.TimeZoneInfo</code></a> describes
5951.1Schristosthe older, proprietary method of Microsoft Windows 2000 and later,
5961.1Schristoswhich stores time zone data in the
5971.1Schristos<a href="https://en.wikipedia.org/wiki/Windows_Registry">Windows Registry</a>. The
5981.1Schristos<a
5991.1Schristoshref="https://unicode.org/cldr/charts/latest/supplemental/zone_tzid.html">Zone &rarr;
6001.1SchristosTzid table</a> or <a
6011.6Schristoshref="https://github.com/unicode-org/cldr/blob/master/common/supplemental/windowsZones.xml"><abbr>XML</abbr>
6021.1Schristosfile</a> of the <abbr>CLDR</abbr> data maps proprietary zone IDs
6031.1Schristosto <code><abbr>tz</abbr></code> names.
6041.3SchristosThese mappings can be performed programmatically via the <a href="https://github.com/mj1856/TimeZoneConverter">TimeZoneConverter</a> .NET library,
6051.3Schristosor the ICU Java and C++ libraries mentioned <a href="#ICU">above</a>.
6061.1Schristos<li><a
6071.1Schristoshref="https://www.oracle.com/java/index.html">Oracle
6081.1SchristosJava</a> contains a copy of a subset of a recent
6091.1Schristos<code><abbr>tz</abbr></code> database in a
6101.1SchristosJava-specific format.</li>
6111.2Schristos<li><a href="https://relativedata.com/page/Time-Zone-Master">Time Zone
6121.1SchristosMaster</a> is a Microsoft Windows clock program that can automatically
6131.4Schristosdownload, compile and use <code><abbr>tz</abbr></code> releases.
6141.4SchristosThe Basic version is free.</li>
6151.1Schristos<li><a
6161.1Schristoshref="http://veladg.com/velaterra.html">VelaTerra</a> is
6171.1Schristosa macOS program. Its developers
6181.1Schristos<a href="http://veladg.com/tzoffer.html">offer free
6191.1Schristoslicenses</a> to <code><abbr>tz</abbr></code> contributors.</li>
6201.1Schristos</ul>
6211.6Schristos</section>
6221.6Schristos
6231.6Schristos<section>
6241.1Schristos<h2 id="other-dbs">Other time zone databases</h2>
6251.1Schristos<ul>
6261.1Schristos<li><a href="https://www.astro.com/atlas">Time-zone Atlas</a>
6271.4Schristosis Astrodienst's Web version of Shanks and Pottenger's out-of-print
6281.4Schristostime zone history atlases
6291.4Schristos<a href="https://www.worldcat.org/oclc/468828649">for the US</a> and
6301.4Schristos<a href="https://www.worldcat.org/oclc/76950459">for the world</a>,
6311.4Schristosnow published in <a
6321.1Schristoshref="https://astrocom.com/astrology-products/software/acs-atlas-software">software</a>
6331.1Schristosform by <a href="https://astrocom.com">ACS-Starcrafts</a>.
6341.4SchristosAlthough these extensive atlases
6351.4Schristos<a href="https://astrologynewsservice.com/opinion/how-astrologers-contributed-to-the-information-age-a-brief-history-of-time/">were
6361.4Schristossources for much of the older <code><abbr>tz</abbr></code> data</a>,
6371.4Schristosthey are unreliable as Shanks appears to have
6381.1Schristosguessed many <abbr>UT</abbr> offsets and transitions. The atlases cite no
6391.1Schristossources and do not indicate which entries are guesswork.</li>
6401.1Schristos<li><a href="https://en.wikipedia.org/wiki/HP-UX">HP-UX</a> has a database in
6411.1Schristosits own <code>tztab</code>(4) format.</li>
6421.1Schristos<li>Microsoft Windows has proprietary data mentioned
6431.1Schristos<a href="#System.TimeZoneInfo">above</a>.</li>
6441.1Schristos<li><a href="https://www.worldtimeserver.com">World Time Server</a>
6451.1Schristosis another time zone database.</li>
6461.1Schristos<li>The <a
6471.1Schristoshref="https://www.iata.org/publications/store/Pages/standard-schedules-information.aspx">Standard
6481.1SchristosSchedules Information Manual</a> of the
6491.1SchristosInternational Air Transport Association
6501.1Schristosgives current time zone rules for airports served by commercial aviation.</li>
6511.1Schristos</ul>
6521.6Schristos</section>
6531.6Schristos
6541.6Schristos<section>
6551.1Schristos<h2 id="maps">Maps</h2>
6561.1Schristos<ul>
6571.1Schristos<li>The <a href="https://www.cia.gov/index.html">United States Central
6581.1SchristosIntelligence Agency (<abbr
6591.1Schristostitle="Central Intelligence Agency">CIA</abbr>)</a> publishes a <a
6601.1Schristoshref="https://www.cia.gov/library/publications/the-world-factbook/graphics/ref_maps/physical/pdf/standard_time_zones_of_the_world.pdf">time
6611.1Schristoszone map</a>; the
6621.1Schristos<a
6631.6Schristoshref="https://legacy.lib.utexas.edu/maps/world.html">Perry&ndash;Casta&ntilde;eda
6641.1SchristosLibrary Map Collection</a>
6651.1Schristosof the University of Texas at Austin has copies of
6661.1Schristosrecent editions.
6671.1SchristosThe pictorial quality is good,
6681.1Schristosbut the maps do not indicate daylight saving time,
6691.1Schristosand parts of the data are a few years out of date.</li>
6701.6Schristos<li><a href="https://www.worldtimezone.com">World Time Zone Map
6711.6Schristoswith current time</a>
6721.1Schristoshas several fancy time zone maps; it covers Russia particularly well.
6731.1SchristosThe maps' pictorial quality is not quite as good as the
6741.1Schristos<abbr>CIA</abbr>'s
6751.1Schristosbut the maps are more up to date.</li>
6761.1Schristos<li><a
6771.1Schristoshref="https://blog.poormansmath.net/how-much-is-time-wrong-around-the-world/">How
6781.1Schristosmuch is time wrong around the world?</a> maps the difference between
6791.1Schristosmean solar and standard time, highlighting areas such as western China
6801.1Schristoswhere the two differ greatly. It's a bit out of date, unfortunately.</li>
6811.1Schristos</ul>
6821.6Schristos</section>
6831.6Schristos
6841.6Schristos<section>
6851.1Schristos<h2 id="boundaries">Time zone boundaries</h2>
6861.2Schristos<p>Geographical boundaries between timezones are available
6871.1Schristosfrom several <a href="https://en.wikipedia.org/wiki/Geolocation">geolocation</a>
6881.1Schristosservices and other sources.</p>
6891.1Schristos<ul>
6901.1Schristos<li><a href="https://github.com/evansiroky/timezone-boundary-builder">Timezone
6911.1SchristosBoundary Builder</a> extracts
6921.1Schristos<a href="https://www.openstreetmap.org">Open Street Map</a> data to build
6931.2Schristosboundaries of <code><abbr>tzdb</abbr></code> timezones.
6941.1SchristosIts code is freely available under the <abbr>MIT</abbr> license, and
6951.1Schristosits data entries are freely available under the
6961.1Schristos<a href="https://opendatacommons.org/licenses/odbl/">Open Data Commons
6971.1SchristosOpen Database License</a>. The maps' borders appear to be quite accurate.</li>
6981.1Schristos<li>Programmatic interfaces that map geographical coordinates via tz_world to
6991.2Schristos<code><abbr>tzdb</abbr></code> timezones include:
7001.1Schristos<ul>
7011.1Schristos<li><a href="https://github.com/mj1856/GeoTimeZone">GeoTimeZone</a> is
7021.1Schristoswritten in <a
7031.1Schristoshref="https://en.wikipedia.org/wiki/C_Sharp_(programming_language)">C#</a>
7041.1Schristosand is freely available under the <abbr>MIT</abbr> license.</li>
7051.1Schristos<li>The <a href="https://github.com/bradfitz/latlong">latlong package</a>
7061.1Schristosis written in Go and is freely available under the Apache License.</li>
7071.1Schristos<li><a href="https://github.com/drtimcooper/LatLongToTimezone">LatLongToTimezone</a>,
7081.1Schristosin both Java and
7091.1Schristos<a href="https://en.wikipedia.org/wiki/Swift_(programming_language)">Swift</a>
7101.1Schristosform, is freely available under the MIT license.</li>
7111.1Schristos<li>For <a href="https://nodejs.org/en/">Node.js</a>,
7121.1Schristosthe <a href="https://www.npmjs.com/package/geo-tz">geo-tz module</a>
7131.1Schristosis freely available under the MIT license, and
7141.1Schristosthe <a href="https://www.npmjs.com/package/tz-lookup">tz-lookup module</a>
7151.1Schristosis in the public domain.</li>
7161.1Schristos<li>The <a
7171.1Schristoshref="https://github.com/MrMinimal64/timezonefinder">timezonefinder</a>
7181.1Schristoslibrary for Python is freely available under the MIT license.
7191.1Schristos<li>The <a
7201.1Schristoshref="https://github.com/gunyarakun/timezone_finder">timezone_finder</a>
7211.1Schristoslibrary for Ruby is freely available under the MIT license.</li>
7221.1Schristos</ul></li>
7231.1Schristos<li>Free access via a network API, if you register a key, is provided by
7241.4Schristosthe <a
7251.4Schristoshref="https://www.geonames.org/export/web-services.html#timezone">GeoNames
7261.4SchristosTimezone web service</a>, the <a
7271.4Schristoshref="https://developers.google.com/maps/documentation/timezone/intro">Google
7281.4SchristosMaps Time Zone API</a>, and
7291.1Schristosthe <a href="https://timezonedb.com">Time Zone Database &amp; API</a>.
7301.1SchristosCommercial network API access is provided
7311.1Schristosby <a href="https://askgeo.com">AskGeo</a>
7321.1Schristosand <a href="https://www.geogarage.com/blog/news-1/post/geogarage-time-zone-api-31">GeoGarage</a>.
7331.1Schristos</li>
7341.1Schristos<li>"<a
7351.1Schristoshref="https://stackoverflow.com/questions/16086962/how-to-get-a-time-zone-from-a-location-using-latitude-and-longitude-coordinates/16086964">How
7361.1Schristosto get a time zone from a location using latitude and longitude
7371.1Schristoscoordinates?</a>" discusses other geolocation possibilities.</li>
7381.1Schristos<li><a href="http://statoids.com/statoids.html">Administrative
7391.1SchristosDivisions of Countries ("Statoids")</a> lists
7401.1Schristospolitical subdivision data related to time zones.</li>
7411.1Schristos<li><a href="http://home.kpn.nl/vanadovv/time/Multizones.html">Time
7421.1Schristoszone boundaries for multizone countries</a> summarizes legal
7431.1Schristosboundaries between time zones within countries.</li>
7441.1Schristos<li><a href="http://manifold.net/info/freestuff.shtml">Manifold Software
7451.1Schristos&ndash; GIS and Database Tools</a> includes a Manifold-format map of
7461.1Schristosworld time zone boundaries distributed under the
7471.1Schristos<abbr>GPL</abbr>.</li>
7481.1Schristos<li>A ship within the <a
7491.1Schristoshref="https://en.wikipedia.org/wiki/Territorial_waters">territorial
7501.1Schristoswaters</a> of any nation uses that nation's time. In international
7511.1Schristoswaters, time zone boundaries are meridians 15&deg; apart, except that
7521.1Schristos<abbr>UT</abbr>&minus;12 and <abbr>UT</abbr>+12 are each 7.5&deg;
7531.1Schristoswide and are separated by
7541.1Schristosthe 180&deg; meridian (not by the International Date Line, which is
7551.1Schristosfor land and territorial waters only). A captain can change ship's
7561.1Schristosclocks any time after entering a new time zone; midnight changes are
7571.1Schristoscommon.</li>
7581.1Schristos</ul>
7591.6Schristos</section>
7601.6Schristos
7611.6Schristos<section>
7621.1Schristos<h2 id="civil">Civil time concepts and history</h2>
7631.1Schristos<ul>
7641.1Schristos<li><a href="https://www.nist.gov/pml/time-and-frequency-division/popular-links/walk-through-time">A
7651.1SchristosWalk through Time</a>
7661.1Schristossurveys the evolution of timekeeping.</li>
7671.4Schristos<li>The history of daylight saving time is surveyed in <a
7681.4Schristoshref="http://www.webexhibits.org/daylightsaving/">About Daylight
7691.4SchristosSaving Time &ndash; History, rationale, laws &amp; dates</a> and summarized in
7701.4Schristos<a href="http://seizethedaylight.com/dst/">A Brief
7711.4SchristosHistory of Daylight Saving Time</a>.</li>
7721.4Schristos<li><a href="https://www.laphamsquarterly.org/roundtable/time-lords">Time
7731.4SchristosLords</a> discusses how authoritarians manipulate civil time.</li>
7741.1Schristos<li><a href="https://www.w3.org/TR/timezone/">Working with Time Zones</a>
7751.1Schristoscontains guidelines and best practices for software applications that
7761.1Schristosdeal with civil time.</li>
7771.1Schristos<li><a href="https://www.staff.science.uu.nl/~gent0113/idl/idl.htm">A History of
7781.1Schristosthe International Date Line</a> tells the story of the most important
7791.1Schristostime zone boundary.</li>
7801.1Schristos<li><a href="http://statoids.com/tconcept.html">Basic Time
7811.1SchristosZone Concepts</a> discusses terminological issues behind time zones.</li>
7821.1Schristos</ul>
7831.6Schristos</section>
7841.6Schristos
7851.6Schristos<section>
7861.1Schristos<h2 id="national">National histories of legal time</h2>
7871.1Schristos<dl>
7881.1Schristos<dt>Australia</dt>
7891.6Schristos<dd>The Parliamentary Library commissioned a <a
7901.1Schristoshref="https://www.aph.gov.au/binaries/library/pubs/rp/2009-10/10rp10.pdf">research
7911.1Schristospaper on daylight saving time in Australia</a>.
7921.1SchristosThe Bureau of Meteorology publishes a list of <a
7931.1Schristoshref="http://www.bom.gov.au/climate/averages/tables/dst_times.shtml">Implementation
7941.1SchristosDates of Daylight Savings Time within Australia</a>.</dd>
7951.1Schristos<dt>Belgium</dt>
7961.1Schristos<dd>The Royal Observatory of Belgium maintains a table of <a
7971.4Schristoshref="https://www.astro.oma.be/GENERAL/INFO/nli001a.html"
7981.1Schristoshreflang="nl">time in Belgium (in Dutch)</a>.</dd>
7991.1Schristos<dt>Brazil</dt>
8001.1Schristos<dd>The Time Service Department of the National Observatory
8011.1Schristosrecords <a href="http://pcdsh01.on.br/DecHV.html"
8021.1Schristoshreflang="pt-BR">Brazil's daylight saving time decrees (in
8031.1SchristosPortuguese)</a>.</dd>
8041.1Schristos<dt>Canada</dt>
8051.1Schristos<dd>National Research Council Canada publishes current
8061.1Schristosand some older information about <a
8071.6Schristoshref="https://nrc.canada.ca/en/certifications-evaluations-standards/canadas-official-time/time-zones-daylight-saving-time">time
8081.6Schristoszones and daylight saving time</a>.</dd>
8091.1Schristos<dt>Chile</dt>
8101.1Schristos<dd>The Hydrographic and Oceanographic Service of the Chilean Navy publishes a
8111.4Schristos<a href="https://www.horaoficial.cl/historia_hora.html" hreflang="es">history of
8121.1SchristosChile's official time (in Spanish)</a>.</dd>
8131.3Schristos<dt>China</dt>
8141.3Schristos<dd>The Hong Kong Observatory maintains a
8151.3Schristos<a href="https://www.hko.gov.hk/gts/time/Summertime.htm">history of
8161.3Schristos summer time in Hong Kong</a>,
8171.3Schristosand Macau's Meteorological and Geophysical Bureau maintains a <a
8181.3Schristoshref="http://www.smg.gov.mo/smg/geophysics/e_t_Summer%20Time.htm">similar
8191.3Schristoshistory for Macau</a>.
8201.3SchristosUnfortunately the latter is incomplete and has errors.</dd>
8211.1Schristos<dt>Czech Republic</dt>
8221.1Schristos<dd><a href="https://kalendar.beda.cz/kdy-zacina-a-konci-letni-cas"
8231.1Schristoshreflang="cs">When daylight saving time starts and ends (in Czech)</a>
8241.1Schristossummarizes and cites historical DST regulations.</dd>
8251.1Schristos<dt>Germany</dt>
8261.1Schristos<dd>The National Institute for Science and Technology maintains the <a
8271.1Schristoshref="https://www.ptb.de/cms/en/fachabteilungen/abt4/fb-44/ag-441/realisation-of-legal-time-in-germany.html">Realisation
8281.1Schristosof Legal Time in Germany</a>.</dd>
8291.1Schristos<dt>Israel</dt>
8301.1Schristos<dd>The Interior Ministry periodically issues <a
8311.1Schristoshref="ftp://ftp.cs.huji.ac.il/pub/tz/announcements"
8321.1Schristoshreflang="he">announcements (in Hebrew)</a>.</dd>
8331.1Schristos<dt>Italy</dt>
8341.6Schristos<dd>The National Institute of Metrological Research publishes a
8351.4Schristos<a href="http://oldsite.inrim.it/res/tf/ora_legale_i.shtml" hreflang="it">table
8361.4Schristosof civil time (in Italian)</a>.</dd>
8371.2Schristos<dt>Malaysia</dt>
8381.2Schristos<dd>See Singapore <a href="#Singapore">below</a>.</dd>
8391.1Schristos<dt>Mexico</dt>
8401.1Schristos<dd>The Investigation and Analysis Service of the Mexican Library of
8411.1SchristosCongress has published a <a
8421.1Schristoshref="http://www.diputados.gob.mx/bibliot/publica/inveyana/polisoc/horver/index.htm"
8431.1Schristoshreflang="es">history of Mexican local time (in Spanish)</a>.</dd>
8441.1Schristos<dt>Netherlands</dt>
8451.1Schristos<dd><a href="https://www.staff.science.uu.nl/~gent0113/wettijd/wettijd.htm"
8461.1Schristoshreflang="nl">Legal time in the Netherlands (in Dutch)</a>
8471.1Schristoscovers the history of local time in the Netherlands from ancient times.</dd>
8481.1Schristos<dt>New Zealand</dt>
8491.1Schristos<dd>The Department of Internal Affairs maintains a brief <a
8501.1Schristoshref="https://www.dia.govt.nz/Daylight-Saving-History">History of
8511.6SchristosDaylight Saving</a>.</dd>
8521.1Schristos<dt>Singapore</dt>
8531.1Schristos<dd><a id="Singapore"
8541.6Schristoshref="http://www.math.nus.edu.sg/~mathelmr/teaching/timezone.html">Why
8551.1Schristosis Singapore in the "Wrong" Time Zone?</a> details the
8561.1Schristoshistory of legal time in Singapore and Malaysia.</dd>
8571.1Schristos<dt>United Kingdom</dt>
8581.1Schristos<dd><a
8591.1Schristoshref="https://www.polyomino.org.uk/british-time/">History of
8601.1Schristoslegal time in Britain</a> discusses in detail the country
8611.6Schristoswith perhaps the best-documented history of clock adjustments.</dd>
8621.1Schristos<dt>United States</dt>
8631.1Schristos<dd>The Department of Transportation's <a
8641.1Schristoshref="https://www.transportation.gov/regulations/recent-time-zone-proceedings">Recent
8651.1SchristosTime Zone Proceedings</a> lists changes to time zone boundaries.</dd>
8661.1Schristos<dt>Uruguay</dt>
8671.1Schristos<dd>The Oceanography, Hydrography, and Meteorology Service of the Uruguayan
8681.1SchristosNavy (SOHMA) publishes an annual <a
8691.6Schristoshref="http://www.armada.gub.uy/sohma/index.php/servicios/datos-astronomicos" hreflang="es">almanac
8701.1Schristos(in Spanish)</a>.</dd>
8711.1Schristos</dl>
8721.6Schristos</section>
8731.6Schristos
8741.6Schristos<section>
8751.1Schristos<h2 id="precision">Precision timekeeping</h2>
8761.1Schristos<ul>
8771.1Schristos<li><a
8781.1Schristoshref="http://leapsecond.com/hpan/an1289.pdf">The
8791.1SchristosScience of Timekeeping</a> is a thorough introduction
8801.1Schristosto the theory and practice of precision timekeeping.</li>
8811.1Schristos<li><a href="https://doi.org/10.1007/978-3-319-59909-0">The Science of
8821.1SchristosTime 2016</a> contains several freely-readable papers.</li>
8831.1Schristos<li><a href="http://www.ntp.org"><abbr
8841.1Schristostitle="Network Time Protocol">NTP</abbr>: The Network
8851.1SchristosTime Protocol</a> (Internet <abbr>RFC</abbr> 5905)
8861.1Schristosdiscusses how to synchronize clocks of
8871.1SchristosInternet hosts.</li>
8881.2Schristos<li>The <a href="https://www.usenix.org/system/files/conference/nsdi18/nsdi18-geng.pdf"><span style="font-variant: small-caps">Huygens</span></a>
8891.2Schristosfamily of software algorithms can achieve accuracy to a few tens of
8901.2Schristosnanoseconds in scalable server farms without special hardware.</li>
8911.1Schristos<li>The <a
8921.1Schristoshref="https://www.nist.gov/intelligent-systems-division/ieee-1588">Precision
8931.1SchristosTime Protocol</a> (<abbr
8941.1Schristostitle="Institute of Electrical and Electronics Engineers">IEEE</abbr> 1588)
8951.2Schristoscan achieve submicrosecond clock accuracy on a local area network
8961.2Schristoswith special-purpose hardware.</li>
8971.1Schristos<li><a
8981.1Schristoshref="https://tools.ietf.org/html/rfc4833">Timezone
8991.1SchristosOptions for <abbr title="Dynamic Host Configuration Protocol">DHCP</abbr></a>
9001.1Schristos(Internet <abbr>RFC</abbr> 4833)
9011.1Schristosspecifies a <a
9021.1Schristoshref="https://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol"><abbr>DHCP</abbr></a>
9031.1Schristosoption for a server to configure
9041.1Schristosa client's time zone and daylight saving settings automatically.</li>
9051.1Schristos<li><a
9061.1Schristoshref="https://www.cv.nrao.edu/~rfisher/Ephemerides/times.html">Astronomical
9071.1SchristosTimes</a> explains more abstruse astronomical time scales like
9081.1Schristos<abbr title="Terrestrial Dynamic Time">TDT</abbr>,
9091.1Schristos<abbr title="Geocentric Coordinate Time">TCG</abbr>, and
9101.1Schristos<abbr title="Barycentric Dynamic Time">TDB</abbr>.
9111.1Schristos<a href="https://www.ucolick.org/~sla/leapsecs/timescales.html">Time
9121.1SchristosScales</a> goes into more detail, particularly for historical variants.</li>
9131.1Schristos<li>The <a href="https://www.iau.org"><abbr
9141.1Schristostitle="International Astronomical Union">IAU</abbr></a>'s <a
9151.1Schristoshref="http://www.iausofa.org"><abbr
9161.1Schristostitle="Standards Of Fundamental Astronomy">SOFA</abbr></a>
9171.1Schristoscollection contains C and <a
9181.1Schristoshref="https://en.wikipedia.org/wiki/Fortran">Fortran</a>
9191.1Schristoscode for converting among time scales like
9201.1Schristos<abbr title="International Atomic Time">TAI</abbr>,
9211.1Schristos<abbr>TDB</abbr>, <abbr>TDT</abbr> and
9221.1Schristos<abbr>UTC</abbr>.</li>
9231.1Schristos<li><a
9241.1Schristoshref="https://www.giss.nasa.gov/tools/mars24/help/notes.html">Mars24 Sunclock
9251.1Schristos&ndash; Time on Mars</a> describes Airy Mean Time (<abbr>AMT</abbr>) and the
9261.1Schristosdiverse local time
9271.1Schristosscales used by each landed mission on Mars.</li>
9281.1Schristos<li><a href="http://leapsecond.com">LeapSecond.com</a> is
9291.1Schristosdedicated not only to leap seconds but to precise time and frequency
9301.1Schristosin general. It covers the state of the art in amateur timekeeping, and
9311.1Schristoshow the art has progressed over the past few decades.</li>
9321.1Schristos<li><a
9331.1Schristoshref="https://www.iers.org/IERS/EN/Publications/Bulletins/bulletins.html"><abbr
9341.1Schristostitle="International Earth Rotation and Reference Systems Service">IERS</abbr>
9351.1SchristosBulletins</a> contains official publications of the International
9361.1SchristosEarth Rotation and Reference Systems Service, which decides when leap
9371.4Schristosseconds occur. The <code><abbr>tz</abbr></code> code and data support leap seconds
9381.1Schristosvia an optional "<code>right</code>" configuration, as opposed to the
9391.1Schristosdefault "<code>posix</code>" configuration.</li>
9401.1Schristos<li><a href="https://developers.google.com/time/smear">Leap Smear</a>
9411.1Schristosdiscusses how to gradually adjust <abbr>POSIX</abbr> clocks near a
9421.1Schristosleap second so that they disagree with <abbr>UTC</abbr> by at most a
9431.1Schristoshalf second, even though every <abbr>POSIX</abbr> minute has exactly
9441.4Schristossixty seconds. This approach works with the default <code><abbr>tz</abbr></code>
9451.1Schristos"<code>posix</code>" configuration, is <a
9461.1Schristoshref="http://bk1.ntp.org/ntp-stable/README.leapsmear">supported</a> by
9471.1Schristosthe <abbr>NTP</abbr> reference implementation, and is used by major
9481.1Schristoscloud service providers.</li>
9491.1Schristos<li>The <a
9501.1Schristoshref="https://pairlist6.pair.net/mailman/listinfo/leapsecs">Leap
9511.1SchristosSecond Discussion List</a> covers <a
9521.1Schristoshref="https://www2.unb.ca/gge/Resources/gpsworld.november99.pdf">McCarthy
9531.1Schristosand Klepczynski's 1999 proposal to discontinue leap seconds</a>,
9541.1Schristosdiscussed further in
9551.1Schristos<a href="https://www.cl.cam.ac.uk/~mgk25/time/metrologia-leapsecond.pdf">The
9561.1Schristosleap second: its history and possible future</a>.
9571.1Schristos<a href="https://www.ucolick.org/~sla/leapsecs/"><abbr>UTC</abbr>
9581.1Schristosmight be redefined
9591.1Schristoswithout Leap Seconds</a> gives pointers on this
9601.1Schristoscontentious issue, which was active until 2015 and could become active
9611.1Schristosagain.</li>
9621.1Schristos</ul>
9631.6Schristos</section>
9641.6Schristos
9651.6Schristos<section>
9661.1Schristos<h2 id="notation">Time notation</h2>
9671.1Schristos<ul>
9681.1Schristos<li>The <a id="CLDR" href="http://cldr.unicode.org">Unicode Common Locale Data
9691.1SchristosRepository (<abbr>CLDR</abbr>) Project</a> has localizations for time
9701.1Schristoszone names, abbreviations, identifiers, and formats. For example, it
9711.1Schristoscontains French translations for "Eastern European Summer Time",
9721.1Schristos"<abbr title="Eastern European Summer Time">EEST</abbr>", and
9731.1Schristos"Bucharest". Its
9741.1Schristos<a href="https://unicode.org/cldr/charts/latest/by_type/">by-type
9751.1Schristoscharts</a> show these values for many locales. Data values are available in
9761.1Schristosboth <abbr title="Locale Data Markup Language">LDML</abbr>
9771.1Schristos(an <abbr>XML</abbr> format) and <abbr>JSON</abbr>.
9781.1Schristos<li>
9791.1Schristos<a href="https://www.cl.cam.ac.uk/~mgk25/iso-time.html">A summary of
9801.6Schristosthe international standard date and time notation</a> covers
9811.1Schristos<a
9821.6Schristoshref="https://www.iso.org/standard/70907.html"><em><abbr
9831.6Schristostitle="International Organization for Standardization">ISO</abbr>
9841.6Schristos8601-1:2019 &ndash; Date and time &ndash; Representations for information
9851.6Schristosinterchange &ndash; Part 1: Basic rules</em></a>.</li>
9861.1Schristos<li>
9871.6Schristos<a href="https://www.w3.org/TR/xmlschema/#dateTime"><abbr>XML</abbr>
9881.1SchristosSchema: Datatypes &ndash; dateTime</a> specifies a format inspired by
9891.1Schristos<abbr>ISO</abbr> 8601 that is in common use in <abbr>XML</abbr> data.</li>
9901.1Schristos<li><a href="https://tools.ietf.org/html/rfc5322#section-3.3">&sect;3.3 of
9911.1SchristosInternet Message Format</a> (Internet <abbr>RFC</abbr> 5322)
9921.1Schristosspecifies the time notation used in email and <a
9931.1Schristoshref="https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol"><abbr>HTTP</abbr></a>
9941.1Schristosheaders.</li>
9951.1Schristos<li>
9961.1Schristos<a href="https://tools.ietf.org/html/rfc3339">Date and Time
9971.1Schristoson the Internet: Timestamps</a> (Internet <abbr>RFC</abbr> 3339)
9981.1Schristosspecifies an <abbr>ISO</abbr> 8601
9991.1Schristosprofile for use in new Internet
10001.1Schristosprotocols.</li>
10011.1Schristos<li>
10021.1Schristos<a href="https://www.hackcraft.net/web/datetime/">Date &amp; Time
10031.1SchristosFormats on the Web</a> surveys web- and Internet-oriented date and time
10041.1Schristosformats.</li>
10051.1Schristos<li>Alphabetic time zone abbreviations should not be used as unique
10061.1Schristosidentifiers for <abbr>UT</abbr> offsets as they are ambiguous in
10071.1Schristospractice. For example, in English-speaking North America
10081.1Schristos"<abbr>CST</abbr>" denotes 6 hours behind <abbr>UT</abbr>,
10091.1Schristosbut in China it denotes 8 hours ahead of <abbr>UT</abbr>,
10101.1Schristosand French-speaking North Americans prefer
10111.1Schristos"<abbr title="Heure Normale du Centre">HNC</abbr>" to
10121.1Schristos"<abbr>CST</abbr>". The <code><abbr>tz</abbr></code>
10131.2Schristosdatabase contains English abbreviations for many timestamps;
10141.1Schristosunfortunately some of these abbreviations were merely the database maintainers'
10151.1Schristosinventions, and these have been removed when possible.</li>
10161.1Schristos<li>Numeric time zone abbreviations typically count hours east of
10171.1Schristos<abbr>UT</abbr>, e.g., +09 for Japan and
10181.1Schristos&minus;10 for Hawaii. However, the <abbr>POSIX</abbr>
10191.1Schristos<code><abbr>TZ</abbr></code> environment variable uses the opposite convention.
10201.1SchristosFor example, one might use <code><abbr>TZ</abbr>="<abbr
10211.1Schristostitle="Japan Standard Time">JST</abbr>-9"</code> and
10221.1Schristos<code><abbr>TZ</abbr>="<abbr title="Hawaii Standard Time">HST</abbr>10"</code>
10231.1Schristosfor Japan and Hawaii, respectively. If the
10241.1Schristos<code><abbr>tz</abbr></code> database is available, it is usually better to use
10251.1Schristossettings like <code><abbr>TZ</abbr>="Asia/Tokyo"</code> and
10261.1Schristos<code><abbr>TZ</abbr>="Pacific/Honolulu"</code> instead, as this should avoid
10271.2Schristosconfusion, handle old timestamps better, and insulate you better from
10281.1Schristosany future changes to the rules. One should never set
10291.1Schristos<abbr>POSIX</abbr> <code><abbr>TZ</abbr></code> to a value like
10301.1Schristos<code>"GMT-9"</code>, though, since this would incorrectly imply that
10311.1Schristoslocal time is nine hours ahead of <abbr>UT</abbr> and the time zone
10321.1Schristosis called "<abbr>GMT</abbr>".</li>
10331.1Schristos</ul>
10341.6Schristos</section>
10351.6Schristos
10361.6Schristos<section>
10371.1Schristos<h2 id="see-also">See also</h2>
10381.1Schristos<ul>
10391.1Schristos<li><a href="theory.html">Theory and pragmatics of the tz code and data</a></li>
10401.1Schristos<li><a href="tz-art.html">Time and the Arts</a></li>
10411.1Schristos</ul>
10421.6Schristos</section>
10431.6Schristos
10441.6Schristos<footer>
10451.1Schristos<hr>
10461.1SchristosThis web page is in the public domain, so clarified as of
10471.1Schristos2009-05-17 by Arthur David Olson.
10481.1Schristos<br>
10491.1SchristosPlease send corrections to this web page to the
10501.1Schristos<a href="mailto:tz@iana.org">time zone mailing list</a>.
10511.6Schristos</footer>
10521.1Schristos</body>
10531.1Schristos</html>
1054