tz-link.html revision 1.7
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.7Schristos <li><a href="#costs">Costs and benefits of time shifts</a></li> 531.6Schristos <li><a href="#precision">Precision timekeeping</a></li> 541.6Schristos <li><a href="#notation">Time notation</a></li> 551.6Schristos <li><a href="#see-also">See also</a></li> 561.6Schristos </ul> 571.6Schristos </li> 581.6Schristos </ul> 591.6Schristos </nav> 601.6Schristos 611.6Schristos<section> 621.1Schristos<h2 id="tzdb">The <code><abbr title="time zone">tz</abbr></code> database</h2> 631.1Schristos<p> 641.1SchristosThe <a href="https://en.wikipedia.org/wiki/Public_domain">public-domain</a> 651.1Schristostime zone database contains code and data 661.1Schristosthat represent the history of local time 671.1Schristosfor many representative locations around the globe. 681.1SchristosIt is updated periodically to reflect changes made by political bodies 691.1Schristosto time zone boundaries and daylight saving rules. 701.1SchristosThis database (known as <code><abbr>tz</abbr></code>, 711.1Schristos<code><abbr>tzdb</abbr></code>, or <code>zoneinfo</code>) 721.1Schristosis used by several implementations, 731.1Schristosincluding 741.1Schristos<a href="https://www.gnu.org/software/libc/">the 751.1Schristos<abbr title="GNU's Not Unix">GNU</abbr> 761.1SchristosC Library</a> (used in 771.1Schristos<a href="https://en.wikipedia.org/wiki/Linux"><abbr>GNU</abbr>/Linux</a>), 781.1Schristos<a href="https://www.android.com">Android</a>, 791.1Schristos<a href="https://www.freebsd.org">Free<abbr 801.1Schristostitle="Berkeley Software Distribution">BSD</abbr></a>, 811.1Schristos<a href="https://netbsd.org">Net<abbr>BSD</abbr></a>, 821.1Schristos<a href="https://www.openbsd.org">Open<abbr>BSD</abbr></a>, 831.1Schristos<a href="https://www.chromium.org/chromium-os">Chromium OS</a>, 841.1Schristos<a href="https://cygwin.com">Cygwin</a>, 851.7Schristos<a href="https://mariadb.org">MariaDB</a>, 861.1Schristos<a href="https://en.wikipedia.org/wiki/MINIX">MINIX</a>, 871.1Schristos<a href="https://www.mysql.com">MySQL</a>, 881.1Schristos<a href="https://en.wikipedia.org/wiki/WebOS"><abbr 891.1Schristostitle="Web Operating System">webOS</abbr></a>, 901.7Schristos<a href="https://en.wikipedia.org/wiki/IBM_AIX"><abbr 911.1Schristostitle="Advanced Interactive eXecutive">AIX</abbr></a>, 921.1Schristos<a href="https://en.wikipedia.org/wiki/BlackBerry_10">BlackBerry 10</a>, 931.6Schristos<a href="https://www.apple.com/ios"><abbr 941.1Schristostitle="iPhone OS">iOS</abbr></a>, 951.6Schristos<a href="https://www.apple.com/macos">macOS</a>, 961.1Schristos<a href="https://www.microsoft.com/en-us/windows">Microsoft Windows</a>, 971.6Schristos<a href="https://www.vmssoftware.com">Open<abbr 981.1Schristostitle="Virtual Memory System">VMS</abbr></a>, 991.6Schristos<a href="https://www.oracle.com/database/">Oracle Database</a>, and 1001.1Schristos<a href="https://www.oracle.com/solaris">Oracle Solaris</a>.</p> 1011.1Schristos<p> 1021.2SchristosEach main entry in the database represents a <dfn>timezone</dfn> 1031.2Schristosfor a set of civil-time clocks that have all agreed since 1970. 1041.2SchristosTimezones are typically identified by continent or ocean and then by the 1051.2Schristosname of the largest city within the region containing the clocks. 1061.1SchristosFor example, <code>America/New_York</code> 1071.1Schristosrepresents most of the <abbr title="United States">US</abbr> eastern time zone; 1081.1Schristos<code>America/Phoenix</code> represents most of Arizona, which 1091.2Schristosuses mountain time without daylight saving time (<abbr>DST</abbr>); 1101.1Schristos<code>America/Detroit</code> represents most of Michigan, which uses 1111.1Schristoseastern time but with different <abbr>DST</abbr> rules in 1975; 1121.1Schristosand other entries represent smaller regions like Starke County, 1131.1SchristosIndiana, which switched from central to eastern time in 1991 1141.1Schristosand switched back in 2006. 1151.1SchristosTo use the database on an extended <a 1161.1Schristoshref="https://en.wikipedia.org/wiki/POSIX"><abbr 1171.1Schristostitle="Portable Operating System Interface">POSIX</abbr></a> 1181.1Schristosimplementation set the <code><abbr>TZ</abbr></code> 1191.1Schristosenvironment variable to the location's full name, 1201.1Schristose.g., <code><abbr>TZ</abbr>="America/New_York"</code>.</p> 1211.1Schristos<p> 1221.2SchristosAssociated with each timezone is a history of offsets from 1231.1Schristos<a href="https://en.wikipedia.org/wiki/Universal_Time">Universal 1241.1SchristosTime</a> (<abbr>UT</abbr>), which is <a 1251.1Schristoshref="https://en.wikipedia.org/wiki/Greenwich_Mean_Time">Greenwich Mean 1261.1SchristosTime</a> (<abbr>GMT</abbr>) with days beginning at midnight; 1271.2Schristosfor timestamps after 1960 this is more precisely <a 1281.1Schristoshref="https://en.wikipedia.org/wiki/Coordinated_Universal_Time">Coordinated 1291.1SchristosUniversal Time</a> (<abbr>UTC</abbr>). 1301.1SchristosThe database also records when daylight saving time was in use, 1311.1Schristosalong with some time zone abbreviations such as <abbr>EST</abbr> 1321.1Schristosfor Eastern Standard Time in the <abbr>US</abbr>.</p> 1331.6Schristos</section> 1341.6Schristos 1351.6Schristos<section> 1361.1Schristos<h2 id="download">Downloading the <code><abbr>tz</abbr></code> database</h2> 1371.1Schristos<p> 1381.1SchristosThe following <a 1391.1Schristoshref="https://en.wikipedia.org/wiki/Unix_shell">shell</a> commands download 1401.1Schristosthe latest release's two 1411.1Schristos<a href="https://en.wikipedia.org/wiki/Tar_(computing)">tarballs</a> 1421.1Schristosto a <abbr>GNU</abbr>/Linux or similar host.</p> 1431.2Schristos<pre><code>mkdir tzdb 1441.1Schristoscd tzdb 1451.1Schristos<a href="https://www.gnu.org/software/wget/">wget</a> https://www.iana.org/time-zones/repository/tzcode-latest.tar.gz 1461.1Schristoswget https://www.iana.org/time-zones/repository/tzdata-latest.tar.gz 1471.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 - 1481.1Schristosgzip -dc tzdata-latest.tar.gz | tar -xf - 1491.1Schristos</code></pre> 1501.1Schristos<p>Alternatively, the following shell commands download the same 1511.1Schristosrelease in a single-tarball format containing extra data 1521.1Schristosuseful for regression testing:</p> 1531.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> 1541.1Schristos<a href="https://www.nongnu.org/lzip/">lzip</a> -dc tzdb-latest.tar.lz | tar -xf - 1551.1Schristos</code></pre> 1561.1Schristos<p>These commands use convenience links to the latest release 1571.1Schristosof the <code><abbr>tz</abbr></code> database hosted by the 1581.1Schristos<a href="https://www.iana.org/time-zones">Time Zone Database website</a> 1591.1Schristosof the <a href="https://www.iana.org">Internet Assigned Numbers 1601.1SchristosAuthority (IANA)</a>. 1611.1SchristosOlder releases are in files named 1621.1Schristos<code>tzcode<var>V</var>.tar.gz</code>, 1631.1Schristos<code>tzdata<var>V</var>.tar.gz</code>, and 1641.1Schristos<code>tzdb-<var>V</var>.tar.lz</code>, 1651.1Schristoswhere <code><var>V</var></code> is the version. 1661.1SchristosSince 1996, each version has been a four-digit year followed by 1671.1Schristoslower-case letter (<samp>a</samp> through <samp>z</samp>, 1681.1Schristosthen <samp>za</samp> through <samp>zz</samp>, then <samp>zza</samp> 1691.1Schristosthrough <samp>zzz</samp>, and so on). 1701.1SchristosSince version 2016h, each release has contained a text file named 1711.1Schristos"<samp>version</samp>" whose first (and currently only) line is the version. 1721.7SchristosOlder releases are <a href="https://ftp.iana.org/tz/releases/">archived</a>, 1731.7Schristosand are also available in an 1741.1Schristos<a href="ftp://ftp.iana.org/tz/releases/"><abbr 1751.1Schristostitle="File Transfer Protocol">FTP</abbr> directory</a> via a 1761.1Schristosless-secure protocol.</p> 1771.1Schristos<p>Alternatively, a development repository of code and data can be 1781.1Schristosretrieved from <a href="https://github.com">GitHub</a> via the shell 1791.1Schristoscommand:</p> 1801.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> 1811.1Schristos</code></pre> 1821.1Schristos<p> 1831.1SchristosSince version 2012e, each release has been tagged in development repositories. 1841.1SchristosUntagged commits are less well tested and probably contain 1851.1Schristosmore errors.</p> 1861.1Schristos<p> 1871.1SchristosAfter obtaining the code and data files, see the 1881.1Schristos<code>README</code> file for what to do next. 1891.1SchristosThe code lets you compile the <code><abbr>tz</abbr></code> source files into 1901.2Schristosmachine-readable binary files, one for each location. The binary files 1911.5Schristosare in a special timezone information format (<dfn><abbr>TZif</abbr></dfn>) 1921.5Schristosspecified by <a href="https://tools.ietf.org/html/8536">Internet 1931.5Schristos<abbr>RFC</abbr> 8536</a>. 1941.2SchristosThe code also lets 1951.2Schristosyou read a <abbr>TZif</abbr> file and interpret timestamps for that 1961.1Schristoslocation.</p> 1971.6Schristos</section> 1981.6Schristos 1991.6Schristos<section> 2001.1Schristos<h2 id="changes">Changes to the <code><abbr>tz</abbr></code> database</h2> 2011.1Schristos<p> 2021.1SchristosThe <code><abbr>tz</abbr></code> code and data 2031.1Schristosare by no means authoritative. If you find errors, please 2041.1Schristossend changes to <a href="mailto:tz@iana.org"><code>tz@iana.org</code></a>, 2051.1Schristosthe time zone mailing list. You can also <a 2061.1Schristoshref="https://mm.icann.org/mailman/listinfo/tz">subscribe</a> to it 2071.1Schristosand browse the <a 2081.1Schristoshref="https://mm.icann.org/pipermail/tz/">archive of old 2091.5Schristosmessages</a>. 2101.5Schristos<a href="https://tzdata-meta.timtimeonline.com/">Metadata for mailing list 2111.5Schristosdiscussions</a> and corresponding data changes can be 2121.5Schristosgenerated <a href="https://github.com/timparenti/tzdata-meta">automatically</a>. 2131.5Schristos</p> 2141.1Schristos<p> 2151.1SchristosIf your government plans to change its time zone boundaries or 2161.1Schristosdaylight saving rules, inform <code>tz@iana.org</code> well in 2171.1Schristosadvance, as this will coordinate updates to many cell phones, 2181.1Schristoscomputers, and other devices around the world. With 2191.1Schristosless than a year's notice there is a good chance that some 2201.1Schristoscomputer-based clocks will operate incorrectly after the change, due 2211.1Schristosto delays in propagating updates to software and data. The shorter 2221.1Schristosthe notice, the more likely clock problems will arise; see "<a 2231.1Schristoshref="https://codeofmatt.com/2016/04/23/on-the-timing-of-time-zone-changes/">On 2241.1Schristosthe Timing of Time Zone Changes</a>" for examples. 2251.1Schristos</p> 2261.1Schristos<p> 2271.1SchristosChanges to the <code><abbr>tz</abbr></code> code and data are often 2281.1Schristospropagated to clients via operating system updates, so 2291.1Schristosclient <code><abbr>tz</abbr></code> data can often be corrected by 2301.1Schristosapplying these updates. With GNU/Linux and similar systems, if your 2311.1Schristosmaintenance provider has not yet adopted the 2321.1Schristoslatest <code><abbr>tz</abbr></code> data, you can often short-circuit 2331.1Schristosthe process by tailoring the generic instructions in 2341.1Schristosthe <code><abbr>tz</abbr> README</code> file and installing the latest 2351.1Schristosdata yourself. System-specific instructions for installing the 2361.1Schristoslatest <code><abbr>tz</abbr></code> data have also been published 2371.1Schristosfor <a href="https://www.ibm.com/developerworks/aix/library/au-aix-olson-time-zone/index.html"><abbr>AIX</abbr></a>, 2381.1Schristos<a 2391.1Schristoshref="https://play.google.com/store/apps/details?id=com.google.android.timezone.data">Android</a>, 2401.1Schristos<a 2411.1Schristoshref="http://userguide.icu-project.org/datetime/timezone"><abbr 2421.1Schristostitle="International Components for Unicode">ICU</abbr></a>, 2431.1Schristos<a href="https://developer.ibm.com/javasdk/support/dst/jtzu/"><abbr>IBM</abbr></a> 2441.1Schristosand <a 2451.4Schristoshref="https://www.oracle.com/technetwork/java/javase/tzupdater-readme-136440.html">Oracle</a> 2461.4SchristosJava, <a href="https://www.joda.org/joda-time/tz_update.html">Joda-Time</a>, <a 2471.1Schristoshref="https://dev.mysql.com/doc/refman/en/time-zone-support.html">MySQL</a>, 2481.1Schristosand <a 2491.1Schristoshref="https://nodatime.org/userguide/tzdb">Noda Time</a> (see below). 2501.1Schristos</p> 2511.1Schristos<p>Sources for the <code><abbr>tz</abbr></code> database are 2521.1Schristos<a href="https://en.wikipedia.org/wiki/UTF-8"><abbr 2531.1Schristostitle="Unicode Transformation Format 8-bit">UTF-8</abbr></a> 2541.1Schristos<a href="https://en.wikipedia.org/wiki/Text_file">text files</a> 2551.1Schristoswith lines terminated by <a href="https://en.wikipedia.org/wiki/Newline"><abbr 2561.1Schristostitle="linefeed">LF</abbr></a>, 2571.1Schristoswhich can be modified by common text editors such 2581.1Schristosas <a href="https://www.gnu.org/software/emacs/">GNU Emacs</a>, 2591.1Schristos<a href="https://wiki.gnome.org/Apps/Gedit">gedit</a>, and 2601.1Schristos<a href="https://www.vim.org">vim</a>. 2611.1SchristosSpecialized source-file editing can be done via the 2621.1Schristos<a href="https://packagecontrol.io/packages/zoneinfo">Sublime 2631.1Schristoszoneinfo</a> package for <a 2641.1Schristoshref="https://www.sublimetext.com">Sublime Text</a> and the <a 2651.1Schristoshref="https://marketplace.visualstudio.com/items?itemName=gilmoreorless.vscode-zoneinfo">VSCode 2661.1Schristoszoneinfo</a> extension for <a href="https://code.visualstudio.com">Visual 2671.1SchristosStudio Code</a>. 2681.1Schristos</p> 2691.1Schristos<p> 2701.1SchristosFor further information about updates, please see 2711.1Schristos<a href="https://tools.ietf.org/html/rfc6557">Procedures for 2721.1SchristosMaintaining the Time Zone Database</a> (Internet <abbr 2731.1Schristostitle="Request For Comments">RFC</abbr> 6557). More detail can be 2741.7Schristosfound in <a href="theory.html">Theory and pragmatics of the 2751.7Schristos<code><abbr>tz</abbr></code> code and data</a>. 2761.2Schristos<a href="https://a0.github.io/a0-tzmigration/">A0 TimeZone Migration</a> 2771.2Schristosdisplays changes between recent <code><abbr>tzdb</abbr></code> versions. 2781.1Schristos</p> 2791.6Schristos</section> 2801.6Schristos 2811.6Schristos<section> 2821.1Schristos<h2 id="commentary">Commentary on the <code><abbr>tz</abbr></code> database</h2> 2831.1Schristos<ul> 2841.1Schristos<li>The article 2851.1Schristos<a href="https://en.wikipedia.org/wiki/Tz_database">tz database</a> is 2861.1Schristosan encyclopedic summary.</li> 2871.1Schristos<li><a href="tz-how-to.html">How to Read the 2881.1Schristostz Database Source Files</a> explains the <code><abbr>tz</abbr></code> 2891.1Schristosdatabase format.</li> 2901.1Schristos<li><a 2911.1Schristoshref="https://blog.jonudell.net/2009/10/23/a-literary-appreciation-of-the-olsonzoneinfotz-database/">A 2921.1Schristosliterary appreciation of the Olson/Zoneinfo/tz database</a> comments on the 2931.1Schristosdatabase's style.</li> 2941.1Schristos</ul> 2951.6Schristos</section> 2961.6Schristos 2971.6Schristos<section> 2981.1Schristos<h2 id="web">Web sites using recent versions of the 2991.1Schristos<code><abbr>tz</abbr></code> database</h2> 3001.1Schristos<p> 3011.1SchristosThese are listed roughly in ascending order of complexity and fanciness. 3021.1Schristos</p> 3031.1Schristos<ul> 3041.1Schristos<li><a href="https://time.is">Time.is</a> shows locations' 3051.1Schristostime and zones.</li> 3061.1Schristos<li><a href="https://www.timejones.com">TimeJones.com</a>, 3071.1Schristos<a href="https://timezoneconverterapp.com">Time Zone Converter</a> and 3081.7Schristos<a href="https://www.worldclock.com">The World Clock</a> 3091.1Schristosare time zone converters.</li> 3101.1Schristos<li><a 3111.6Schristoshref="https://twiki.org/cgi-bin/xtra/tzdatepick.html">Date and Time Gateway</a> 3121.1Schristoslets you see the <code><abbr>TZ</abbr></code> values directly.</li> 3131.1Schristos<li><a 3141.1Schristoshref="http://www.convertit.com/Go/ConvertIt/World_Time/Current_Time.ASP">Current 3151.1SchristosTime in 1000 Places</a> uses descriptions of the values.</li> 3161.6Schristos<li><a href="https://timezoneconverterapp.com/">Time Zone Converter</a> 3171.1Schristosuses a pulldown menu.</li> 3181.7Schristos<li><a href="https://home.kpn.nl/vanadovv/time/TZworld.html">Complete 3191.1Schristostimezone information for all countries</a> displays tables of DST rules. 3201.1Schristos<li><a href="https://www.timeanddate.com/worldclock/">The World Clock – 3211.1SchristosWorldwide</a> lets you sort zone names and convert times.</li> 3221.1Schristos<li><a href="https://24timezones.com">24TimeZones</a> has a world 3231.1Schristostime map and a time converter.</li> 3241.1Schristos<li><a href="https://www.zeitverschiebung.net/en/">Time Difference</a> 3251.1Schristoscalculates the current time difference between locations.</li> 3261.1Schristos<li><a href="http://www.wx-now.com">Weather Now</a> and 3271.1Schristos<a href="http://www.thetimenow.com">The Time Now</a> list the weather too.</li> 3281.1Schristos</ul> 3291.6Schristos</section> 3301.6Schristos 3311.6Schristos<section> 3321.1Schristos<h2 id="protocols">Network protocols for <code><abbr>tz</abbr></code> data</h2> 3331.1Schristos<ul> 3341.1Schristos<li>The <a href="https://www.ietf.org">Internet Engineering Task Force</a>'s 3351.1Schristos<a href="https://datatracker.ietf.org/wg/tzdist/charter/">Time Zone Data 3361.1SchristosDistribution Service (tzdist) working group</a> defined <a 3371.1Schristoshref="https://tools.ietf.org/html/rfc7808">TZDIST</a> 3381.1Schristos(Internet <abbr>RFC</abbr> 7808), a time zone data distribution service, 3391.1Schristosalong with <a href="https://tools.ietf.org/html/rfc7809">CalDAV</a> 3401.1Schristos(Internet <abbr>RFC</abbr> 7809), a calendar access protocol for 3411.2Schristostransferring time zone data by reference. 3421.2SchristosThe <a href="https://www.ietf.org/mailman/listinfo/tzdist-bis">tzdist-bis 3431.6Schristosmailing list</a> discussed the Internet draft <a 3441.1Schristosid="TZDIST-Geolocate" 3451.2Schristoshref="https://tools.ietf.org/html/draft-murchison-tzdist-geolocate">TZDIST 3461.6SchristosGeolocate Extension</a> (now expired), which let a client determine its timezone 3471.1Schristosfrom its geographic location using a <a 3481.5Schristoshref="https://tools.ietf.org/html/rfc5870">'geo' URI</a>.</li> 3491.1Schristos<li>The <a href="https://tools.ietf.org/html/rfc5545"> 3501.1SchristosInternet Calendaring and Scheduling Core Object Specification 3511.1Schristos(iCalendar)</a> (Internet <abbr>RFC</abbr> 5445) 3521.1Schristoscovers time zone 3531.1Schristosdata; see its VTIMEZONE calendar component. 3541.1SchristosThe iCalendar format requires specialized parsers and generators; a 3551.1Schristosvariant <a href="https://tools.ietf.org/html/rfc6321">xCal</a> 3561.1Schristos(Internet <abbr>RFC</abbr> 6321) uses 3571.1Schristos<a href="https://www.w3.org/XML/"><abbr 3581.1Schristostitle="Extensible Markup Language">XML</abbr></a> format, and a variant 3591.1Schristos<a href="https://tools.ietf.org/html/rfc7265">jCal</a> 3601.1Schristos(Internet <abbr>RFC</abbr> 7265) 3611.1Schristosuses <a href="https://www.json.org"><abbr 3621.1Schristostitle="JavaScript Object Notation">JSON</abbr></a> format.</li> 3631.1Schristos</ul> 3641.6Schristos</section> 3651.6Schristos 3661.6Schristos<section> 3671.1Schristos<h2 id="compilers">Other <code><abbr>tz</abbr></code> compilers</h2> 3681.7Schristos<p>Although some of these do not fully support 3691.7Schristos<code><abbr>tz</abbr></code> data, in recent <code><abbr>tzdb</abbr></code> 3701.7Schristosdistributions you can generally work around compatibility problems by 3711.7Schristosrunning the command <code>make rearguard_tarballs</code> and compiling 3721.7Schristosfrom the resulting tarballs instead.</p> 3731.1Schristos<ul> 3741.1Schristos<li><a href="https://sourceforge.net/projects/vzic/">Vzic</a> is a <a 3751.1Schristoshref="https://en.wikipedia.org/wiki/C_%28programming_language%29">C</a> 3761.1Schristosprogram that compiles 3771.1Schristos<code><abbr>tz</abbr></code> source into iCalendar-compatible VTIMEZONE files. 3781.1SchristosVzic is freely 3791.1Schristosavailable under the <a 3801.1Schristoshref="https://www.gnu.org/copyleft/gpl.html"><abbr>GNU</abbr> 3811.1SchristosGeneral Public License (<abbr 3821.1Schristostitle="General Public License">GPL</abbr>)</a>.</li> 3831.1Schristos<li><a href="https://sourceforge.net/projects/tzical/">tziCal – tz 3841.1Schristosdatabase conversion utility</a> is like Vzic, except for the <a 3851.6Schristoshref="https://dotnet.microsoft.com">.NET framework</a> 3861.1Schristosand with a <abbr>BSD</abbr>-style license.</li> 3871.1Schristos<li><a 3881.4Schristoshref="https://metacpan.org/release/DateTime-TimeZone">DateTime::TimeZone</a> 3891.1Schristoscontains a script <code>parse_olson</code> that compiles 3901.1Schristos<code><abbr>tz</abbr></code> source into <a href="https://www.perl.org">Perl</a> 3911.1Schristosmodules. It is part of the Perl <a 3921.4Schristoshref="https://github.com/houseabsolute/DateTime.pm/wiki">DateTime Project</a>, 3931.4Schristoswhich is freely 3941.1Schristosavailable under both the <abbr>GPL</abbr> and the Perl Artistic 3951.1SchristosLicense. DateTime::TimeZone also contains a script 3961.1Schristos<code>tests_from_zdump</code> that generates test cases for each clock 3971.1Schristostransition in the <code><abbr>tz</abbr></code> database.</li> 3981.1Schristos<li>The <a href="https://howardhinnant.github.io/date/tz.html">Time Zone 3991.1SchristosDatabase Parser</a> is a 4001.1Schristos<a href="https://en.wikipedia.org/wiki/C%2B%2B">C++</a> parser and 4011.7Schristosruntime library with API <a 4021.7Schristoshref="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0355r7.html">adopted 4031.7Schristosinto the draft standard</a> for 4041.6Schristos<a href="https://en.wikipedia.org/wiki/C++20">C++20</a>, 4051.6Schristosthe next iteration of the C++ standard. 4061.1SchristosIt is freely available under the 4071.1Schristos<abbr title="Massachusetts Institute of Technology">MIT</abbr> license.</li> 4081.1Schristos<li><a id="ICU" href="http://site.icu-project.org">International Components for 4091.1SchristosUnicode (<abbr>ICU</abbr>)</a> contains C/C++ and <a 4101.1Schristoshref="https://en.wikipedia.org/wiki/Java_%28programming_language%29">Java</a> 4111.1Schristoslibraries for internationalization that 4121.1Schristoshas a compiler from <code><abbr>tz</abbr></code> source 4131.1Schristosand from <abbr title="Common Locale Data Repository">CLDR</abbr> data 4141.1Schristos(mentioned <a href="#CLDR">below</a>) 4151.1Schristosinto an <abbr>ICU</abbr>-specific format. 4161.1Schristos<abbr>ICU</abbr> is freely available under a 4171.1Schristos<abbr>BSD</abbr>-style license.</li> 4181.1Schristos<li>The <a href="https://github.com/lau/tzdata">Tzdata</a> package for 4191.1Schristosthe <a href="https://elixir-lang.org">Elixir</a> language downloads 4201.7Schristosand compiles <code><abbr>tz</abbr></code> source and exposes <abbr 4211.1Schristostitle="Application Program Interface">API</abbr>s for use. It is 4221.1Schristosfreely available under the <abbr>MIT</abbr> license.</li> 4231.1Schristos<li>Java-based compilers and libraries include: 4241.1Schristos<ul> 4251.1Schristos<li>The <a 4261.4Schristoshref="https://www.oracle.com/technetwork/java/javase/tzupdater-readme-136440.html">TZUpdater 4271.1Schristostool</a> compiles <code><abbr>tz</abbr></code> source into the format used by 4281.1SchristosOracle Java.</li> 4291.1Schristos<li>The <a 4301.4Schristoshref="https://www.oracle.com/technetwork/articles/java/jf14-date-time-2125367.html">Java 4311.6SchristosSE 8 Date and Time</a> <abbr>API</abbr> can be supplemented by <a 4321.4Schristoshref="https://www.threeten.org/threeten-extra/">ThreeTen-Extra</a>, 4331.1Schristoswhich is freely available under a <abbr>BSD</abbr>-style license.</li> 4341.4Schristos<li><a href="https://www.joda.org/joda-time/">Joda-Time – Java date 4351.1Schristosand time <abbr>API</abbr></a> contains a class 4361.1Schristos<code>org.joda.time.tz.ZoneInfoCompiler</code> that compiles 4371.1Schristos<code><abbr>tz</abbr></code> source into a binary format. It inspired 4381.1SchristosJava 8 <code>java.time</code>, which its users should migrate to once 4391.1Schristosthey can assume Java 8 or later. It is available under the <a 4401.1Schristoshref="https://www.apache.org/licenses/LICENSE-2.0">Apache License</a>.</li> 4411.7Schristos<li><a href="https://bell-sw.com/pages/iana-updater/">IANA Updater</a>, 4421.7Schristos<a href="https://github.com/akashche/tzdbgen">tzdbgen</a>, and <a 4431.7Schristoshref="https://www.azul.com/products/open-source-tools/ziupdater-time-zone-tool/">ZIUpdater</a> 4441.7Schristosare other alternatives to TZUpdater. IANA Updater's license is unclear; 4451.7Schristosthe others are licensed under the <abbr>GPL</abbr>.</li> 4461.4Schristos<li><a href="https://github.com/MenoData/Time4A">Time4A: Advanced date and 4471.4Schristostime library for Android</a> and 4481.4Schristos<a href="https://github.com/MenoData/Time4J/">Time4J: Advanced date, 4491.4Schristostime and interval library for Java</a> compile 4501.4Schristos<code><abbr>tz</abbr></code> source into a binary format. 4511.4SchristosTime4A is available under the Apache License and Time4J is 4521.1Schristosavailable under the <a 4531.1Schristoshref="https://www.gnu.org/copyleft/lesser.html"><abbr>GNU</abbr> Lesser 4541.1SchristosGeneral Public License (<abbr title="Lesser General Public 4551.1SchristosLicense">LGPL</abbr>)</a>.</li> 4561.1Schristos<li><abbr>ICU</abbr> (mentioned <a href="#ICU">above</a>) contains compilers and 4571.1SchristosJava-based libraries.</li> 4581.1Schristos</ul> 4591.1Schristos<li><a href="https://nodatime.org">Noda Time – Date and 4601.1Schristostime <abbr>API</abbr> for .NET</a> 4611.4Schristosis like Joda-Time and Time4J, but for the .NET framework instead of Java. 4621.4SchristosIt is freely available under the Apache License.</li> 4631.1Schristos<li><a href="https://en.wikipedia.org/wiki/JavaScript">JavaScript</a>-based 4641.1Schristoscompilers and libraries include: 4651.1Schristos<ul> 4661.1Schristos<li><a 4671.1Schristoshref="https://github.com/kshetline/compact-time-zone-generator">CompactTimeZoneGenerator</a> 4681.1Schristoscompiles time zone data into a compact form designed for 4691.1SchristosJavaScript. It is freely available under a combination of 4701.1Schristosthe <abbr>MIT</abbr> license and the Apache License.</li> 4711.1Schristos<li><a href="https://momentjs.com/timezone/">Moment Timezone</a> is a 4721.1Schristosplugin for the <a href="https://momentjs.com">Moment.js</a> date 4731.1Schristosmanipulation library. It is freely available under the <abbr>MIT</abbr> 4741.1Schristoslicense.</li> 4751.1Schristos<li><a href="https://github.com/mde/timezone-js">TimezoneJS.Date</a>'s 4761.1Schristos<abbr>API</abbr> is upward compatible with standard JavaScript 4771.1SchristosDates. It is freely available under the Apache License.</li> 4781.1Schristos</ul> 4791.1Schristos<li><a href="https://github.com/JuliaTime/">JuliaTime</a> contains a 4801.1Schristoscompiler from <code><abbr>tz</abbr></code> source into 4811.1Schristos<a href="https://julialang.org/">Julia</a>. It is freely available 4821.1Schristosunder the <abbr>MIT</abbr> license.</li> 4831.6Schristos<li><a href="https://github.com/pavkam/tzdb"><abbr>TZDB</abbr> – 4841.6Schristos<abbr>IANA</abbr> Time Zone Database for Delphi/<abbr 4851.6Schristostitle="Free Pascal Compiler">FPC</abbr></a> 4861.2Schristoscompiles from <code><abbr>tz</abbr></code> source into 4871.2Schristos<a href="https://en.wikipedia.org/wiki/Object_Pascal">Object Pascal</a> 4881.2Schristosas compiled by <a href="https://en.wikipedia.org/wiki/Delphi_(IDE)">Delphi</a> 4891.2Schristosand <a 4901.2Schristoshref="https://en.wikipedia.org/wiki/Free_Pascal"><abbr>FPC</abbr></a>. 4911.2SchristosIt is freely available under a <abbr>BSD</abbr>-style license.</li> 4921.1Schristos<li><a href="http://pytz.sourceforge.net">pytz – World Timezone 4931.1SchristosDefinitions for Python</a> compiles <code><abbr>tz</abbr></code> source into 4941.1Schristos<a href="https://www.python.org">Python</a>. 4951.1SchristosIt is freely available under a <abbr>BSD</abbr>-style license.</li> 4961.1Schristos<li><a href="https://tzinfo.github.io">TZInfo – 4971.1SchristosRuby Timezone Library</a> 4981.1Schristoscompiles <code><abbr>tz</abbr></code> source into 4991.1Schristos<a href="https://www.ruby-lang.org/en/">Ruby</a>. 5001.1SchristosIt is freely available under the <abbr>MIT</abbr> license.</li> 5011.1Schristos<li>The <a href="http://www.squeaksource.com/Chronos/">Chronos Date/Time 5021.1SchristosLibrary</a> is 5031.1Schristosa <a href="https://en.wikipedia.org/wiki/Smalltalk">Smalltalk</a> class 5041.1Schristoslibrary that compiles <code><abbr>tz</abbr></code> source into a time 5051.1Schristoszone repository whose format 5061.1Schristosis either proprietary or an <abbr>XML</abbr>-encoded 5071.1Schristosrepresentation.</li> 5081.1Schristos<li><a id="Tcl" href="https://tcl.tk">Tcl</a> 5091.1Schristoscontains a developer-oriented parser that compiles <code><abbr>tz</abbr></code> 5101.1Schristossource into text files, along with a runtime that can read those 5111.1Schristosfiles. Tcl is freely available under a <abbr>BSD</abbr>-style 5121.1Schristoslicense.</li> 5131.1Schristos</ul> 5141.6Schristos</section> 5151.6Schristos 5161.6Schristos<section> 5171.2Schristos<h2 id="TZif">Other <abbr>TZif</abbr> readers</h2> 5181.1Schristos<ul> 5191.1Schristos<li>The <a 5201.1Schristoshref="https://www.gnu.org/software/libc/"><abbr>GNU</abbr> C 5211.1SchristosLibrary</a> 5221.1Schristoshas an independent, thread-safe implementation of 5231.2Schristosa <abbr>TZif</abbr> file reader. 5241.1SchristosThis library is freely available under the LGPL 5251.1Schristosand is widely used in <abbr>GNU</abbr>/Linux systems.</li> 5261.1Schristos<li><a href="https://www.gnome.org">GNOME</a>'s 5271.1Schristos<a href="https://developer.gnome.org/glib/">GLib</a> has 5281.2Schristosa <abbr>TZif</abbr> file reader written in C that 5291.1Schristoscreates a <code>GTimeZone</code> object representing sets 5301.1Schristosof <abbr>UT</abbr> offsets. 5311.1SchristosIt is freely available under the <abbr>LGPL</abbr>.</li> 5321.1Schristos<li>The 5331.1Schristos<a href="https://github.com/bloomberg/bde/wiki">BDE Standard Library</a>'s 5341.1Schristos<code>baltzo::TimeZoneUtil</code> component contains a C++ 5351.2Schristosimplementation of a <abbr>TZif</abbr> file reader. It is freely available under 5361.1Schristosthe Apache License.</li> 5371.1Schristos<li><a href="https://github.com/google/cctz">CCTZ</a> is a simple C++ 5381.1Schristoslibrary that translates between <abbr>UT</abbr> and civil time and 5391.2Schristoscan read <abbr>TZif</abbr> files. It is freely available under the Apache 5401.1SchristosLicense.</li> 5411.1Schristos<li><a href="http://bmsi.com/java/#TZ">ZoneInfo.java</a> 5421.2Schristosis a <abbr>TZif</abbr> file reader written in Java. 5431.1SchristosIt is freely available under the <abbr>LGPL</abbr>.</li> 5441.1Schristos<li><a href="https://github.com/derickr/timelib">Timelib</a> is a C 5451.2Schristoslibrary that reads <abbr>TZif</abbr> files and converts 5461.2Schristostimestamps from one time zone or format to another. 5471.1SchristosIt is used by <a href="https://secure.php.net"><abbr 5481.1Schristostitle="PHP: Hypertext Preprocessor">PHP</abbr></a>, 5491.1Schristos<a href="https://hhvm.com"><abbr title="HipHop Virtual Machine">HHVM</abbr></a>, 5501.1Schristosand <a href="https://www.mongodb.com">MongoDB</a>. 5511.1SchristosIt is freely available under the <abbr>MIT</abbr> license.</li> 5521.1Schristos<li><a href="https://github.com/bigeasy/timezone">Timezone</a> is a 5531.1SchristosJavaScript library that supports date arithmetic that is time zone 5541.1Schristosaware. It is freely available under the <abbr>MIT</abbr> license.</li> 5551.1Schristos<li>Tcl, mentioned <a href="#Tcl">above</a>, also contains a 5561.2Schristos<abbr>TZif</abbr> file reader.</li> 5571.4Schristos<li><a href="https://metacpan.org/pod/DateTime::TimeZone::Tzfile"> 5581.1SchristosDateTime::TimeZone::Tzfile</a> 5591.2Schristosis a <abbr>TZif</abbr> file reader written in Perl. 5601.1SchristosIt is freely available under the same terms as Perl 5611.1Schristos(dual <abbr>GPL</abbr> and Artistic license).</li> 5621.1Schristos<li>The 5631.1Schristospublic-domain <a href="https://github.com/dbaron/tz.js">tz.js</a> 5641.1Schristoslibrary contains a Python tool that 5651.2Schristosconverts <abbr>TZif</abbr> data into 5661.1Schristos<abbr>JSON</abbr>-format data suitable for use 5671.1Schristosin its JavaScript library for time zone conversion. Dates before 1970 5681.1Schristosare not supported.</li> 5691.1Schristos<li>The <a 5701.1Schristoshref="https://hackage.haskell.org/package/timezone-olson">timezone-olson</a> 5711.1Schristospackage contains <a href="https://www.haskell.org">Haskell</a> code that 5721.2Schristosparses and uses <abbr>TZif</abbr> data. It is freely 5731.1Schristosavailable under a <abbr>BSD</abbr>-style license.</li> 5741.1Schristos</ul> 5751.6Schristos</section> 5761.6Schristos 5771.6Schristos<section> 5781.1Schristos<h2 id="software">Other <code><abbr>tz</abbr></code>-based time zone software</h2> 5791.1Schristos<ul> 5801.1Schristos<li><a href="https://foxclocks.org">FoxClocks</a> 5811.1Schristosis an extension for <a href="https://www.google.com/chrome/">Google 5821.1SchristosChrome</a> and for <a 5831.1Schristoshref="https://developer.mozilla.org/en-US/docs/Mozilla/Tech/Toolkit_API">Mozilla 5841.1SchristosToolkit</a> applications like <a 5851.1Schristoshref="https://www.mozilla.org/en-US/firefox/new/">Firefox</a> and <a 5861.1Schristoshref="https://www.mozilla.org/en-US/thunderbird/">Thunderbird</a>. 5871.1SchristosIt displays multiple clocks in the application window, and has a mapping 5881.1Schristosinterface to <a href="https://www.google.com/earth/">Google Earth</a>. 5891.1SchristosIt is freely available under the <abbr>GPL</abbr>.</li> 5901.1Schristos<li><a href="https://golang.org">Go programming language</a> 5911.1Schristosimplementations contain a copy of a 32-bit subset of a recent 5921.1Schristos<code><abbr>tz</abbr></code> database in a 5931.1SchristosGo-specific format.</li> 5941.1Schristos<li><a 5951.1Schristoshref="http://users.skynet.be/Peter.Verthez/projects/intclock/">International 5961.1Schristosclock (intclock)</a> is a clock that displays multiple time zones on 5971.1Schristos<abbr>GNU</abbr>/Linux and similar systems. It is freely available 5981.1Schristosunder the <abbr>GPL</abbr>.</li> 5991.1Schristos<li>Microsoft Windows 8.1 6001.1Schristosand later has <code><abbr>tz</abbr></code> data and <abbr>CLDR</abbr> 6011.3Schristosdata (mentioned <a href="#CLDR">below</a>) used by the 6021.3Schristos<a href="https://en.wikipedia.org/wiki/Windows_Runtime">Windows Runtime</a> / 6031.3Schristos<a href="https://en.wikipedia.org/wiki/Universal_Windows_Platform">Universal Windows Platform</a> classes 6041.3Schristos<a href="https://docs.microsoft.com/uwp/api/Windows.Globalization.DateTimeFormatting.DateTimeFormatter"><code>DateTimeFormatter</code></a> and 6051.3Schristos<a href="https://docs.microsoft.com/uwp/api/windows.globalization.calendar"><code>Calendar</code></a>. 6061.1Schristos<a id="System.TimeZoneInfo" 6071.1Schristoshref="https://blogs.msdn.microsoft.com/bclteam/2007/06/07/exploring-windows-time-zones-with-system-timezoneinfo-josh-free/">Exploring 6081.1SchristosWindows Time Zones with <code>System.TimeZoneInfo</code></a> describes 6091.1Schristosthe older, proprietary method of Microsoft Windows 2000 and later, 6101.1Schristoswhich stores time zone data in the 6111.1Schristos<a href="https://en.wikipedia.org/wiki/Windows_Registry">Windows Registry</a>. The 6121.1Schristos<a 6131.1Schristoshref="https://unicode.org/cldr/charts/latest/supplemental/zone_tzid.html">Zone → 6141.1SchristosTzid table</a> or <a 6151.6Schristoshref="https://github.com/unicode-org/cldr/blob/master/common/supplemental/windowsZones.xml"><abbr>XML</abbr> 6161.1Schristosfile</a> of the <abbr>CLDR</abbr> data maps proprietary zone IDs 6171.1Schristosto <code><abbr>tz</abbr></code> names. 6181.3SchristosThese mappings can be performed programmatically via the <a href="https://github.com/mj1856/TimeZoneConverter">TimeZoneConverter</a> .NET library, 6191.3Schristosor the ICU Java and C++ libraries mentioned <a href="#ICU">above</a>. 6201.1Schristos<li><a 6211.1Schristoshref="https://www.oracle.com/java/index.html">Oracle 6221.1SchristosJava</a> contains a copy of a subset of a recent 6231.1Schristos<code><abbr>tz</abbr></code> database in a 6241.1SchristosJava-specific format.</li> 6251.2Schristos<li><a href="https://relativedata.com/page/Time-Zone-Master">Time Zone 6261.1SchristosMaster</a> is a Microsoft Windows clock program that can automatically 6271.4Schristosdownload, compile and use <code><abbr>tz</abbr></code> releases. 6281.4SchristosThe Basic version is free.</li> 6291.1Schristos<li><a 6301.1Schristoshref="http://veladg.com/velaterra.html">VelaTerra</a> is 6311.1Schristosa macOS program. Its developers 6321.1Schristos<a href="http://veladg.com/tzoffer.html">offer free 6331.1Schristoslicenses</a> to <code><abbr>tz</abbr></code> contributors.</li> 6341.1Schristos</ul> 6351.6Schristos</section> 6361.6Schristos 6371.6Schristos<section> 6381.1Schristos<h2 id="other-dbs">Other time zone databases</h2> 6391.1Schristos<ul> 6401.1Schristos<li><a href="https://www.astro.com/atlas">Time-zone Atlas</a> 6411.4Schristosis Astrodienst's Web version of Shanks and Pottenger's out-of-print 6421.4Schristostime zone history atlases 6431.4Schristos<a href="https://www.worldcat.org/oclc/468828649">for the US</a> and 6441.4Schristos<a href="https://www.worldcat.org/oclc/76950459">for the world</a>, 6451.4Schristosnow published in <a 6461.1Schristoshref="https://astrocom.com/astrology-products/software/acs-atlas-software">software</a> 6471.1Schristosform by <a href="https://astrocom.com">ACS-Starcrafts</a>. 6481.4SchristosAlthough these extensive atlases 6491.4Schristos<a href="https://astrologynewsservice.com/opinion/how-astrologers-contributed-to-the-information-age-a-brief-history-of-time/">were 6501.4Schristossources for much of the older <code><abbr>tz</abbr></code> data</a>, 6511.4Schristosthey are unreliable as Shanks appears to have 6521.1Schristosguessed many <abbr>UT</abbr> offsets and transitions. The atlases cite no 6531.1Schristossources and do not indicate which entries are guesswork.</li> 6541.1Schristos<li><a href="https://en.wikipedia.org/wiki/HP-UX">HP-UX</a> has a database in 6551.1Schristosits own <code>tztab</code>(4) format.</li> 6561.1Schristos<li>Microsoft Windows has proprietary data mentioned 6571.1Schristos<a href="#System.TimeZoneInfo">above</a>.</li> 6581.1Schristos<li><a href="https://www.worldtimeserver.com">World Time Server</a> 6591.1Schristosis another time zone database.</li> 6601.1Schristos<li>The <a 6611.1Schristoshref="https://www.iata.org/publications/store/Pages/standard-schedules-information.aspx">Standard 6621.1SchristosSchedules Information Manual</a> of the 6631.1SchristosInternational Air Transport Association 6641.1Schristosgives current time zone rules for airports served by commercial aviation.</li> 6651.1Schristos</ul> 6661.6Schristos</section> 6671.6Schristos 6681.6Schristos<section> 6691.1Schristos<h2 id="maps">Maps</h2> 6701.1Schristos<ul> 6711.1Schristos<li>The <a href="https://www.cia.gov/index.html">United States Central 6721.1SchristosIntelligence Agency (<abbr 6731.1Schristostitle="Central Intelligence Agency">CIA</abbr>)</a> publishes a <a 6741.1Schristoshref="https://www.cia.gov/library/publications/the-world-factbook/graphics/ref_maps/physical/pdf/standard_time_zones_of_the_world.pdf">time 6751.1Schristoszone map</a>; the 6761.1Schristos<a 6771.6Schristoshref="https://legacy.lib.utexas.edu/maps/world.html">Perry–Castañeda 6781.1SchristosLibrary Map Collection</a> 6791.1Schristosof the University of Texas at Austin has copies of 6801.1Schristosrecent editions. 6811.1SchristosThe pictorial quality is good, 6821.1Schristosbut the maps do not indicate daylight saving time, 6831.1Schristosand parts of the data are a few years out of date.</li> 6841.6Schristos<li><a href="https://www.worldtimezone.com">World Time Zone Map 6851.6Schristoswith current time</a> 6861.1Schristoshas several fancy time zone maps; it covers Russia particularly well. 6871.1SchristosThe maps' pictorial quality is not quite as good as the 6881.1Schristos<abbr>CIA</abbr>'s 6891.1Schristosbut the maps are more up to date.</li> 6901.1Schristos<li><a 6911.1Schristoshref="https://blog.poormansmath.net/how-much-is-time-wrong-around-the-world/">How 6921.1Schristosmuch is time wrong around the world?</a> maps the difference between 6931.1Schristosmean solar and standard time, highlighting areas such as western China 6941.1Schristoswhere the two differ greatly. It's a bit out of date, unfortunately.</li> 6951.1Schristos</ul> 6961.6Schristos</section> 6971.6Schristos 6981.6Schristos<section> 6991.1Schristos<h2 id="boundaries">Time zone boundaries</h2> 7001.2Schristos<p>Geographical boundaries between timezones are available 7011.1Schristosfrom several <a href="https://en.wikipedia.org/wiki/Geolocation">geolocation</a> 7021.1Schristosservices and other sources.</p> 7031.1Schristos<ul> 7041.1Schristos<li><a href="https://github.com/evansiroky/timezone-boundary-builder">Timezone 7051.1SchristosBoundary Builder</a> extracts 7061.1Schristos<a href="https://www.openstreetmap.org">Open Street Map</a> data to build 7071.2Schristosboundaries of <code><abbr>tzdb</abbr></code> timezones. 7081.1SchristosIts code is freely available under the <abbr>MIT</abbr> license, and 7091.1Schristosits data entries are freely available under the 7101.1Schristos<a href="https://opendatacommons.org/licenses/odbl/">Open Data Commons 7111.1SchristosOpen Database License</a>. The maps' borders appear to be quite accurate.</li> 7121.1Schristos<li>Programmatic interfaces that map geographical coordinates via tz_world to 7131.2Schristos<code><abbr>tzdb</abbr></code> timezones include: 7141.1Schristos<ul> 7151.1Schristos<li><a href="https://github.com/mj1856/GeoTimeZone">GeoTimeZone</a> is 7161.1Schristoswritten in <a 7171.1Schristoshref="https://en.wikipedia.org/wiki/C_Sharp_(programming_language)">C#</a> 7181.1Schristosand is freely available under the <abbr>MIT</abbr> license.</li> 7191.1Schristos<li>The <a href="https://github.com/bradfitz/latlong">latlong package</a> 7201.1Schristosis written in Go and is freely available under the Apache License.</li> 7211.1Schristos<li><a href="https://github.com/drtimcooper/LatLongToTimezone">LatLongToTimezone</a>, 7221.1Schristosin both Java and 7231.1Schristos<a href="https://en.wikipedia.org/wiki/Swift_(programming_language)">Swift</a> 7241.1Schristosform, is freely available under the MIT license.</li> 7251.1Schristos<li>For <a href="https://nodejs.org/en/">Node.js</a>, 7261.1Schristosthe <a href="https://www.npmjs.com/package/geo-tz">geo-tz module</a> 7271.1Schristosis freely available under the MIT license, and 7281.1Schristosthe <a href="https://www.npmjs.com/package/tz-lookup">tz-lookup module</a> 7291.1Schristosis in the public domain.</li> 7301.1Schristos<li>The <a 7311.1Schristoshref="https://github.com/MrMinimal64/timezonefinder">timezonefinder</a> 7321.1Schristoslibrary for Python is freely available under the MIT license. 7331.1Schristos<li>The <a 7341.1Schristoshref="https://github.com/gunyarakun/timezone_finder">timezone_finder</a> 7351.1Schristoslibrary for Ruby is freely available under the MIT license.</li> 7361.1Schristos</ul></li> 7371.1Schristos<li>Free access via a network API, if you register a key, is provided by 7381.4Schristosthe <a 7391.4Schristoshref="https://www.geonames.org/export/web-services.html#timezone">GeoNames 7401.4SchristosTimezone web service</a>, the <a 7411.4Schristoshref="https://developers.google.com/maps/documentation/timezone/intro">Google 7421.4SchristosMaps Time Zone API</a>, and 7431.1Schristosthe <a href="https://timezonedb.com">Time Zone Database & API</a>. 7441.1SchristosCommercial network API access is provided 7451.1Schristosby <a href="https://askgeo.com">AskGeo</a> 7461.1Schristosand <a href="https://www.geogarage.com/blog/news-1/post/geogarage-time-zone-api-31">GeoGarage</a>. 7471.1Schristos</li> 7481.1Schristos<li>"<a 7491.1Schristoshref="https://stackoverflow.com/questions/16086962/how-to-get-a-time-zone-from-a-location-using-latitude-and-longitude-coordinates/16086964">How 7501.1Schristosto get a time zone from a location using latitude and longitude 7511.1Schristoscoordinates?</a>" discusses other geolocation possibilities.</li> 7521.1Schristos<li><a href="http://statoids.com/statoids.html">Administrative 7531.1SchristosDivisions of Countries ("Statoids")</a> lists 7541.1Schristospolitical subdivision data related to time zones.</li> 7551.7Schristos<li><a href="https://home.kpn.nl/vanadovv/time/Multizones.html">Time 7561.1Schristoszone boundaries for multizone countries</a> summarizes legal 7571.1Schristosboundaries between time zones within countries.</li> 7581.1Schristos<li><a href="http://manifold.net/info/freestuff.shtml">Manifold Software 7591.1Schristos– GIS and Database Tools</a> includes a Manifold-format map of 7601.1Schristosworld time zone boundaries distributed under the 7611.1Schristos<abbr>GPL</abbr>.</li> 7621.1Schristos<li>A ship within the <a 7631.1Schristoshref="https://en.wikipedia.org/wiki/Territorial_waters">territorial 7641.1Schristoswaters</a> of any nation uses that nation's time. In international 7651.1Schristoswaters, time zone boundaries are meridians 15° apart, except that 7661.1Schristos<abbr>UT</abbr>−12 and <abbr>UT</abbr>+12 are each 7.5° 7671.1Schristoswide and are separated by 7681.1Schristosthe 180° meridian (not by the International Date Line, which is 7691.1Schristosfor land and territorial waters only). A captain can change ship's 7701.1Schristosclocks any time after entering a new time zone; midnight changes are 7711.1Schristoscommon.</li> 7721.1Schristos</ul> 7731.6Schristos</section> 7741.6Schristos 7751.6Schristos<section> 7761.1Schristos<h2 id="civil">Civil time concepts and history</h2> 7771.1Schristos<ul> 7781.1Schristos<li><a href="https://www.nist.gov/pml/time-and-frequency-division/popular-links/walk-through-time">A 7791.1SchristosWalk through Time</a> 7801.1Schristossurveys the evolution of timekeeping.</li> 7811.4Schristos<li>The history of daylight saving time is surveyed in <a 7821.4Schristoshref="http://www.webexhibits.org/daylightsaving/">About Daylight 7831.4SchristosSaving Time – History, rationale, laws & dates</a> and summarized in 7841.4Schristos<a href="http://seizethedaylight.com/dst/">A Brief 7851.4SchristosHistory of Daylight Saving Time</a>.</li> 7861.4Schristos<li><a href="https://www.laphamsquarterly.org/roundtable/time-lords">Time 7871.4SchristosLords</a> discusses how authoritarians manipulate civil time.</li> 7881.1Schristos<li><a href="https://www.w3.org/TR/timezone/">Working with Time Zones</a> 7891.1Schristoscontains guidelines and best practices for software applications that 7901.1Schristosdeal with civil time.</li> 7911.1Schristos<li><a href="https://www.staff.science.uu.nl/~gent0113/idl/idl.htm">A History of 7921.1Schristosthe International Date Line</a> tells the story of the most important 7931.1Schristostime zone boundary.</li> 7941.1Schristos<li><a href="http://statoids.com/tconcept.html">Basic Time 7951.1SchristosZone Concepts</a> discusses terminological issues behind time zones.</li> 7961.1Schristos</ul> 7971.6Schristos</section> 7981.6Schristos 7991.6Schristos<section> 8001.1Schristos<h2 id="national">National histories of legal time</h2> 8011.1Schristos<dl> 8021.1Schristos<dt>Australia</dt> 8031.6Schristos<dd>The Parliamentary Library commissioned a <a 8041.1Schristoshref="https://www.aph.gov.au/binaries/library/pubs/rp/2009-10/10rp10.pdf">research 8051.1Schristospaper on daylight saving time in Australia</a>. 8061.1SchristosThe Bureau of Meteorology publishes a list of <a 8071.1Schristoshref="http://www.bom.gov.au/climate/averages/tables/dst_times.shtml">Implementation 8081.1SchristosDates of Daylight Savings Time within Australia</a>.</dd> 8091.1Schristos<dt>Belgium</dt> 8101.7Schristos<dd>The Royal Observatory of Belgium maintains a table of time in 8111.7SchristosBelgium (in 8121.7Schristos<a href="https://www.astro.oma.be/GENERAL/INFO/nli001a.html" 8131.7Schristoshreflang="nl">Dutch</a> and <a 8141.7Schristoshref="https://www.astro.oma.be/GENERAL/INFO/fri001a.html" 8151.7Schristoshreflang="fr">French</a>).</dd> 8161.1Schristos<dt>Brazil</dt> 8171.1Schristos<dd>The Time Service Department of the National Observatory 8181.1Schristosrecords <a href="http://pcdsh01.on.br/DecHV.html" 8191.1Schristoshreflang="pt-BR">Brazil's daylight saving time decrees (in 8201.1SchristosPortuguese)</a>.</dd> 8211.1Schristos<dt>Canada</dt> 8221.1Schristos<dd>National Research Council Canada publishes current 8231.1Schristosand some older information about <a 8241.6Schristoshref="https://nrc.canada.ca/en/certifications-evaluations-standards/canadas-official-time/time-zones-daylight-saving-time">time 8251.6Schristoszones and daylight saving time</a>.</dd> 8261.1Schristos<dt>Chile</dt> 8271.1Schristos<dd>The Hydrographic and Oceanographic Service of the Chilean Navy publishes a 8281.4Schristos<a href="https://www.horaoficial.cl/historia_hora.html" hreflang="es">history of 8291.1SchristosChile's official time (in Spanish)</a>.</dd> 8301.3Schristos<dt>China</dt> 8311.3Schristos<dd>The Hong Kong Observatory maintains a 8321.7Schristos<a href="https://www.hko.gov.hk/en/gts/time/Summertime.htm">history of 8331.3Schristos summer time in Hong Kong</a>, 8341.3Schristosand Macau's Meteorological and Geophysical Bureau maintains a <a 8351.7Schristoshref="https://www.smg.gov.mo/en/subpage/224/page/174">similar 8361.3Schristoshistory for Macau</a>. 8371.3SchristosUnfortunately the latter is incomplete and has errors.</dd> 8381.1Schristos<dt>Czech Republic</dt> 8391.1Schristos<dd><a href="https://kalendar.beda.cz/kdy-zacina-a-konci-letni-cas" 8401.1Schristoshreflang="cs">When daylight saving time starts and ends (in Czech)</a> 8411.1Schristossummarizes and cites historical DST regulations.</dd> 8421.1Schristos<dt>Germany</dt> 8431.1Schristos<dd>The National Institute for Science and Technology maintains the <a 8441.1Schristoshref="https://www.ptb.de/cms/en/fachabteilungen/abt4/fb-44/ag-441/realisation-of-legal-time-in-germany.html">Realisation 8451.1Schristosof Legal Time in Germany</a>.</dd> 8461.1Schristos<dt>Israel</dt> 8471.1Schristos<dd>The Interior Ministry periodically issues <a 8481.1Schristoshref="ftp://ftp.cs.huji.ac.il/pub/tz/announcements" 8491.1Schristoshreflang="he">announcements (in Hebrew)</a>.</dd> 8501.1Schristos<dt>Italy</dt> 8511.6Schristos<dd>The National Institute of Metrological Research publishes a 8521.4Schristos<a href="http://oldsite.inrim.it/res/tf/ora_legale_i.shtml" hreflang="it">table 8531.4Schristosof civil time (in Italian)</a>.</dd> 8541.2Schristos<dt>Malaysia</dt> 8551.2Schristos<dd>See Singapore <a href="#Singapore">below</a>.</dd> 8561.1Schristos<dt>Mexico</dt> 8571.1Schristos<dd>The Investigation and Analysis Service of the Mexican Library of 8581.1SchristosCongress has published a <a 8591.1Schristoshref="http://www.diputados.gob.mx/bibliot/publica/inveyana/polisoc/horver/index.htm" 8601.1Schristoshreflang="es">history of Mexican local time (in Spanish)</a>.</dd> 8611.1Schristos<dt>Netherlands</dt> 8621.1Schristos<dd><a href="https://www.staff.science.uu.nl/~gent0113/wettijd/wettijd.htm" 8631.1Schristoshreflang="nl">Legal time in the Netherlands (in Dutch)</a> 8641.1Schristoscovers the history of local time in the Netherlands from ancient times.</dd> 8651.1Schristos<dt>New Zealand</dt> 8661.1Schristos<dd>The Department of Internal Affairs maintains a brief <a 8671.1Schristoshref="https://www.dia.govt.nz/Daylight-Saving-History">History of 8681.6SchristosDaylight Saving</a>.</dd> 8691.1Schristos<dt>Singapore</dt> 8701.1Schristos<dd><a id="Singapore" 8711.7Schristoshref="https://web.archive.org/web/20190822231045/http://www.math.nus.edu.sg/~mathelmr/teaching/timezone.html">Why 8721.1Schristosis Singapore in the "Wrong" Time Zone?</a> details the 8731.1Schristoshistory of legal time in Singapore and Malaysia.</dd> 8741.1Schristos<dt>United Kingdom</dt> 8751.1Schristos<dd><a 8761.1Schristoshref="https://www.polyomino.org.uk/british-time/">History of 8771.1Schristoslegal time in Britain</a> discusses in detail the country 8781.6Schristoswith perhaps the best-documented history of clock adjustments.</dd> 8791.1Schristos<dt>United States</dt> 8801.1Schristos<dd>The Department of Transportation's <a 8811.1Schristoshref="https://www.transportation.gov/regulations/recent-time-zone-proceedings">Recent 8821.1SchristosTime Zone Proceedings</a> lists changes to time zone boundaries.</dd> 8831.1Schristos<dt>Uruguay</dt> 8841.1Schristos<dd>The Oceanography, Hydrography, and Meteorology Service of the Uruguayan 8851.1SchristosNavy (SOHMA) publishes an annual <a 8861.7Schristoshref="http://sohma.armada.mil.uy/index.php/servicios/datos-astronomicos" hreflang="es">almanac 8871.1Schristos(in Spanish)</a>.</dd> 8881.1Schristos</dl> 8891.6Schristos</section> 8901.6Schristos 8911.6Schristos<section> 8921.7Schristos<h2 id="costs">Costs and benefits of time shifts</h2> 8931.7Schristos<p>Various sources argue for and against daylight saving time and time 8941.7Schristoszone shifts, and many scientific studies have been conducted. This 8951.7Schristossection summarizes reviews of scientific literature in the area.</p> 8961.7Schristos<ul> 8971.7Schristos<li>Carey RN, Sarma KM. 8981.7Schristos<a href="https://bmjopen.bmj.com/content/7/6/e014319.long">Impact of 8991.7Schristosdaylight saving time on road traffic collision risk: a systematic 9001.7Schristosreview</a>. 9011.7Schristos<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>. 9021.7SchristosThis reviews research literature and concludes that the evidence 9031.7Schristosneither supports nor refutes road safety benefits from 9041.7Schristosshifts in time zones.</li> 9051.7Schristos<li>Havranek T, Herman D, Irsova D. 9061.7Schristos<a href="https://www.econstor.eu/handle/10419/174191">Does daylight 9071.7Schristossaving save electricity? A meta-analysis</a>. <em>Energy J.</em> 9081.7Schristos2018;39(2). 9091.7Schristosdoi:<a href="https://doi.org/10.5547/01956574.39.2.thav">10.5547/01956574.39.2.thav</a>. 9101.7SchristosThis analyzes research literature and concludes, "Electricity savings 9111.7Schristosare larger for countries farther away from the equator, while 9121.7Schristossubtropical regions consume more electricity because of DST."</li> 9131.7Schristos<li>Roenneberg T, Winnebeck EC, Klerman EB. 9141.7Schristos<a href="https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6692659/">Daylight 9151.7Schristossaving time and artificial time zones – a battle between 9161.7Schristosbiological and social times</a>. <em>Front Physiol.</em> 2019;10:944. 9171.7Schristosdoi:<a href="https://doi.org/10.3389/fphys.2019.00944">10.3389/fphys.2019.00944</a>. 9181.7SchristosThis reviews evidence about the health effects of DST and concludes, 9191.7Schristos"In summary, the scientific literature strongly argues against the 9201.7Schristosswitching between DST and Standard Time and even more so against 9211.7Schristosadopting DST permanently."</li> 9221.7Schristos</ul> 9231.7Schristos</section> 9241.7Schristos 9251.7Schristos<section> 9261.1Schristos<h2 id="precision">Precision timekeeping</h2> 9271.1Schristos<ul> 9281.1Schristos<li><a 9291.1Schristoshref="http://leapsecond.com/hpan/an1289.pdf">The 9301.1SchristosScience of Timekeeping</a> is a thorough introduction 9311.1Schristosto the theory and practice of precision timekeeping.</li> 9321.1Schristos<li><a href="https://doi.org/10.1007/978-3-319-59909-0">The Science of 9331.1SchristosTime 2016</a> contains several freely-readable papers.</li> 9341.1Schristos<li><a href="http://www.ntp.org"><abbr 9351.1Schristostitle="Network Time Protocol">NTP</abbr>: The Network 9361.1SchristosTime Protocol</a> (Internet <abbr>RFC</abbr> 5905) 9371.1Schristosdiscusses how to synchronize clocks of 9381.1SchristosInternet hosts.</li> 9391.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> 9401.2Schristosfamily of software algorithms can achieve accuracy to a few tens of 9411.2Schristosnanoseconds in scalable server farms without special hardware.</li> 9421.1Schristos<li>The <a 9431.1Schristoshref="https://www.nist.gov/intelligent-systems-division/ieee-1588">Precision 9441.1SchristosTime Protocol</a> (<abbr 9451.1Schristostitle="Institute of Electrical and Electronics Engineers">IEEE</abbr> 1588) 9461.2Schristoscan achieve submicrosecond clock accuracy on a local area network 9471.2Schristoswith special-purpose hardware.</li> 9481.1Schristos<li><a 9491.1Schristoshref="https://tools.ietf.org/html/rfc4833">Timezone 9501.1SchristosOptions for <abbr title="Dynamic Host Configuration Protocol">DHCP</abbr></a> 9511.1Schristos(Internet <abbr>RFC</abbr> 4833) 9521.1Schristosspecifies a <a 9531.1Schristoshref="https://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol"><abbr>DHCP</abbr></a> 9541.1Schristosoption for a server to configure 9551.1Schristosa client's time zone and daylight saving settings automatically.</li> 9561.1Schristos<li><a 9571.1Schristoshref="https://www.cv.nrao.edu/~rfisher/Ephemerides/times.html">Astronomical 9581.1SchristosTimes</a> explains more abstruse astronomical time scales like 9591.1Schristos<abbr title="Terrestrial Dynamic Time">TDT</abbr>, 9601.1Schristos<abbr title="Geocentric Coordinate Time">TCG</abbr>, and 9611.1Schristos<abbr title="Barycentric Dynamic Time">TDB</abbr>. 9621.1Schristos<a href="https://www.ucolick.org/~sla/leapsecs/timescales.html">Time 9631.1SchristosScales</a> goes into more detail, particularly for historical variants.</li> 9641.1Schristos<li>The <a href="https://www.iau.org"><abbr 9651.1Schristostitle="International Astronomical Union">IAU</abbr></a>'s <a 9661.1Schristoshref="http://www.iausofa.org"><abbr 9671.1Schristostitle="Standards Of Fundamental Astronomy">SOFA</abbr></a> 9681.1Schristoscollection contains C and <a 9691.1Schristoshref="https://en.wikipedia.org/wiki/Fortran">Fortran</a> 9701.1Schristoscode for converting among time scales like 9711.1Schristos<abbr title="International Atomic Time">TAI</abbr>, 9721.1Schristos<abbr>TDB</abbr>, <abbr>TDT</abbr> and 9731.1Schristos<abbr>UTC</abbr>.</li> 9741.1Schristos<li><a 9751.1Schristoshref="https://www.giss.nasa.gov/tools/mars24/help/notes.html">Mars24 Sunclock 9761.1Schristos– Time on Mars</a> describes Airy Mean Time (<abbr>AMT</abbr>) and the 9771.1Schristosdiverse local time 9781.1Schristosscales used by each landed mission on Mars.</li> 9791.1Schristos<li><a href="http://leapsecond.com">LeapSecond.com</a> is 9801.1Schristosdedicated not only to leap seconds but to precise time and frequency 9811.1Schristosin general. It covers the state of the art in amateur timekeeping, and 9821.1Schristoshow the art has progressed over the past few decades.</li> 9831.7Schristos<li>The rules for leap seconds are specified in Annex 1 (Time scales) of <a 9841.7Schristoshref="https://www.itu.int/rec/R-REC-TF.460-6-200202-I/">Standard-frequency 9851.7Schristosand time-signal emissions</a>, International Telecommunication Union – 9861.7SchristosRadiocommunication Sector (ITU-R) Recommendation TF.460-6 (02/2002).</li> 9871.1Schristos<li><a 9881.1Schristoshref="https://www.iers.org/IERS/EN/Publications/Bulletins/bulletins.html"><abbr 9891.1Schristostitle="International Earth Rotation and Reference Systems Service">IERS</abbr> 9901.1SchristosBulletins</a> contains official publications of the International 9911.1SchristosEarth Rotation and Reference Systems Service, which decides when leap 9921.4Schristosseconds occur. The <code><abbr>tz</abbr></code> code and data support leap seconds 9931.1Schristosvia an optional "<code>right</code>" configuration, as opposed to the 9941.1Schristosdefault "<code>posix</code>" configuration.</li> 9951.1Schristos<li><a href="https://developers.google.com/time/smear">Leap Smear</a> 9961.1Schristosdiscusses how to gradually adjust <abbr>POSIX</abbr> clocks near a 9971.1Schristosleap second so that they disagree with <abbr>UTC</abbr> by at most a 9981.1Schristoshalf second, even though every <abbr>POSIX</abbr> minute has exactly 9991.4Schristossixty seconds. This approach works with the default <code><abbr>tz</abbr></code> 10001.1Schristos"<code>posix</code>" configuration, is <a 10011.1Schristoshref="http://bk1.ntp.org/ntp-stable/README.leapsmear">supported</a> by 10021.1Schristosthe <abbr>NTP</abbr> reference implementation, and is used by major 10031.7Schristoscloud service providers. However, according to 10041.7Schristos<a href="https://tools.ietf.org/html/rfc8633#section-3.7.1">§3.7.1 of 10051.7SchristosNetwork Time Protocol Best Current Practices</a> 10061.7Schristos(Internet <abbr>RFC</abbr> 8633), leap smearing is not suitable for 10071.7Schristosapplications requiring accurate UTC or civil time, 10081.7Schristosand is intended for use only in single, well-controlled environments.</li> 10091.1Schristos<li>The <a 10101.1Schristoshref="https://pairlist6.pair.net/mailman/listinfo/leapsecs">Leap 10111.1SchristosSecond Discussion List</a> covers <a 10121.1Schristoshref="https://www2.unb.ca/gge/Resources/gpsworld.november99.pdf">McCarthy 10131.1Schristosand Klepczynski's 1999 proposal to discontinue leap seconds</a>, 10141.1Schristosdiscussed further in 10151.1Schristos<a href="https://www.cl.cam.ac.uk/~mgk25/time/metrologia-leapsecond.pdf">The 10161.1Schristosleap second: its history and possible future</a>. 10171.1Schristos<a href="https://www.ucolick.org/~sla/leapsecs/"><abbr>UTC</abbr> 10181.1Schristosmight be redefined 10191.1Schristoswithout Leap Seconds</a> gives pointers on this 10201.1Schristoscontentious issue, which was active until 2015 and could become active 10211.1Schristosagain.</li> 10221.1Schristos</ul> 10231.6Schristos</section> 10241.6Schristos 10251.6Schristos<section> 10261.1Schristos<h2 id="notation">Time notation</h2> 10271.1Schristos<ul> 10281.1Schristos<li>The <a id="CLDR" href="http://cldr.unicode.org">Unicode Common Locale Data 10291.1SchristosRepository (<abbr>CLDR</abbr>) Project</a> has localizations for time 10301.1Schristoszone names, abbreviations, identifiers, and formats. For example, it 10311.1Schristoscontains French translations for "Eastern European Summer Time", 10321.1Schristos"<abbr title="Eastern European Summer Time">EEST</abbr>", and 10331.1Schristos"Bucharest". Its 10341.1Schristos<a href="https://unicode.org/cldr/charts/latest/by_type/">by-type 10351.1Schristoscharts</a> show these values for many locales. Data values are available in 10361.1Schristosboth <abbr title="Locale Data Markup Language">LDML</abbr> 10371.1Schristos(an <abbr>XML</abbr> format) and <abbr>JSON</abbr>. 10381.1Schristos<li> 10391.1Schristos<a href="https://www.cl.cam.ac.uk/~mgk25/iso-time.html">A summary of 10401.6Schristosthe international standard date and time notation</a> covers 10411.1Schristos<a 10421.6Schristoshref="https://www.iso.org/standard/70907.html"><em><abbr 10431.6Schristostitle="International Organization for Standardization">ISO</abbr> 10441.6Schristos8601-1:2019 – Date and time – Representations for information 10451.6Schristosinterchange – Part 1: Basic rules</em></a>.</li> 10461.1Schristos<li> 10471.6Schristos<a href="https://www.w3.org/TR/xmlschema/#dateTime"><abbr>XML</abbr> 10481.1SchristosSchema: Datatypes – dateTime</a> specifies a format inspired by 10491.1Schristos<abbr>ISO</abbr> 8601 that is in common use in <abbr>XML</abbr> data.</li> 10501.1Schristos<li><a href="https://tools.ietf.org/html/rfc5322#section-3.3">§3.3 of 10511.1SchristosInternet Message Format</a> (Internet <abbr>RFC</abbr> 5322) 10521.1Schristosspecifies the time notation used in email and <a 10531.1Schristoshref="https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol"><abbr>HTTP</abbr></a> 10541.1Schristosheaders.</li> 10551.1Schristos<li> 10561.1Schristos<a href="https://tools.ietf.org/html/rfc3339">Date and Time 10571.1Schristoson the Internet: Timestamps</a> (Internet <abbr>RFC</abbr> 3339) 10581.1Schristosspecifies an <abbr>ISO</abbr> 8601 10591.1Schristosprofile for use in new Internet 10601.1Schristosprotocols.</li> 10611.1Schristos<li> 10621.7Schristos<a href="https://web.archive.org/web/20190130042457/https://www.hackcraft.net/web/datetime/">Date & Time 10631.1SchristosFormats on the Web</a> surveys web- and Internet-oriented date and time 10641.1Schristosformats.</li> 10651.1Schristos<li>Alphabetic time zone abbreviations should not be used as unique 10661.1Schristosidentifiers for <abbr>UT</abbr> offsets as they are ambiguous in 10671.1Schristospractice. For example, in English-speaking North America 10681.1Schristos"<abbr>CST</abbr>" denotes 6 hours behind <abbr>UT</abbr>, 10691.1Schristosbut in China it denotes 8 hours ahead of <abbr>UT</abbr>, 10701.1Schristosand French-speaking North Americans prefer 10711.1Schristos"<abbr title="Heure Normale du Centre">HNC</abbr>" to 10721.1Schristos"<abbr>CST</abbr>". The <code><abbr>tz</abbr></code> 10731.2Schristosdatabase contains English abbreviations for many timestamps; 10741.1Schristosunfortunately some of these abbreviations were merely the database maintainers' 10751.1Schristosinventions, and these have been removed when possible.</li> 10761.1Schristos<li>Numeric time zone abbreviations typically count hours east of 10771.1Schristos<abbr>UT</abbr>, e.g., +09 for Japan and 10781.1Schristos−10 for Hawaii. However, the <abbr>POSIX</abbr> 10791.1Schristos<code><abbr>TZ</abbr></code> environment variable uses the opposite convention. 10801.1SchristosFor example, one might use <code><abbr>TZ</abbr>="<abbr 10811.1Schristostitle="Japan Standard Time">JST</abbr>-9"</code> and 10821.1Schristos<code><abbr>TZ</abbr>="<abbr title="Hawaii Standard Time">HST</abbr>10"</code> 10831.1Schristosfor Japan and Hawaii, respectively. If the 10841.1Schristos<code><abbr>tz</abbr></code> database is available, it is usually better to use 10851.1Schristossettings like <code><abbr>TZ</abbr>="Asia/Tokyo"</code> and 10861.1Schristos<code><abbr>TZ</abbr>="Pacific/Honolulu"</code> instead, as this should avoid 10871.2Schristosconfusion, handle old timestamps better, and insulate you better from 10881.1Schristosany future changes to the rules. One should never set 10891.1Schristos<abbr>POSIX</abbr> <code><abbr>TZ</abbr></code> to a value like 10901.1Schristos<code>"GMT-9"</code>, though, since this would incorrectly imply that 10911.1Schristoslocal time is nine hours ahead of <abbr>UT</abbr> and the time zone 10921.1Schristosis called "<abbr>GMT</abbr>".</li> 10931.1Schristos</ul> 10941.6Schristos</section> 10951.6Schristos 10961.6Schristos<section> 10971.1Schristos<h2 id="see-also">See also</h2> 10981.1Schristos<ul> 10991.7Schristos<li><a href="theory.html">Theory and pragmatics of the 11001.7Schristos<code><abbr>tz</abbr></code> code and data</a></li> 11011.1Schristos<li><a href="tz-art.html">Time and the Arts</a></li> 11021.1Schristos</ul> 11031.6Schristos</section> 11041.6Schristos 11051.6Schristos<footer> 11061.1Schristos<hr> 11071.1SchristosThis web page is in the public domain, so clarified as of 11081.1Schristos2009-05-17 by Arthur David Olson. 11091.1Schristos<br> 11101.1SchristosPlease send corrections to this web page to the 11111.1Schristos<a href="mailto:tz@iana.org">time zone mailing list</a>. 11121.6Schristos</footer> 11131.1Schristos</body> 11141.1Schristos</html> 1115