tz-link.html revision 1.16
11.1Schristos<!DOCTYPE html> 21.1Schristos<html lang="en"> 31.1Schristos<head> 41.13Schristos<title>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.13Schristos<h1>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.14Schristos <li><a href="#coordinating">Coordinating with governments and distributors</a></li> 301.6Schristos <li><a href="#commentary">Commentary on the <code><abbr>tz</abbr></code> database</a></li> 311.6Schristos </ul> 321.6Schristos </li> 331.6Schristos <li>Uses of the <code><abbr>tz</abbr></code> database 341.6Schristos <ul> 351.6Schristos <li><a href="#web">Web sites using recent versions of the <code><abbr>tz</abbr></code> database</a></li> 361.6Schristos <li><a href="#protocols">Network protocols for <code><abbr>tz</abbr></code> data</a></li> 371.6Schristos <li><a href="#compilers">Other <code><abbr>tz</abbr></code> compilers</a></li> 381.6Schristos <li><a href="#TZif">Other <abbr>TZif</abbr> readers</a></li> 391.6Schristos <li><a href="#software">Other <code><abbr>tz</abbr></code>-based time zone software</a></li> 401.6Schristos </ul> 411.6Schristos </li> 421.6Schristos <li>Related data 431.6Schristos <ul> 441.6Schristos <li><a href="#other-dbs">Other time zone databases</a></li> 451.6Schristos <li><a href="#maps">Maps</a></li> 461.6Schristos <li><a href="#boundaries">Time zone boundaries</a></li> 471.6Schristos </ul> 481.6Schristos </li> 491.6Schristos <li>Timekeeping concepts 501.6Schristos <ul> 511.6Schristos <li><a href="#civil">Civil time concepts and history</a></li> 521.6Schristos <li><a href="#national">National histories of legal time</a></li> 531.7Schristos <li><a href="#costs">Costs and benefits of time shifts</a></li> 541.6Schristos <li><a href="#precision">Precision timekeeping</a></li> 551.6Schristos <li><a href="#notation">Time notation</a></li> 561.6Schristos </ul> 571.6Schristos </li> 581.13Schristos <li><a href="#see-also">See also</a></li> 591.6Schristos </ul> 601.6Schristos </nav> 611.6Schristos 621.6Schristos<section> 631.1Schristos<h2 id="tzdb">The <code><abbr title="time zone">tz</abbr></code> database</h2> 641.1Schristos<p> 651.1SchristosThe <a href="https://en.wikipedia.org/wiki/Public_domain">public-domain</a> 661.1Schristostime zone database contains code and data 671.1Schristosthat represent the history of local time 681.1Schristosfor many representative locations around the globe. 691.1SchristosIt is updated periodically to reflect changes made by political bodies 701.1Schristosto time zone boundaries and daylight saving rules. 711.1SchristosThis database (known as <code><abbr>tz</abbr></code>, 721.1Schristos<code><abbr>tzdb</abbr></code>, or <code>zoneinfo</code>) 731.1Schristosis used by several implementations, 741.1Schristosincluding 751.1Schristos<a href="https://www.gnu.org/software/libc/">the 761.1Schristos<abbr title="GNU's Not Unix">GNU</abbr> 771.1SchristosC Library</a> (used in 781.1Schristos<a href="https://en.wikipedia.org/wiki/Linux"><abbr>GNU</abbr>/Linux</a>), 791.1Schristos<a href="https://www.android.com">Android</a>, 801.1Schristos<a href="https://www.freebsd.org">Free<abbr 811.1Schristostitle="Berkeley Software Distribution">BSD</abbr></a>, 821.1Schristos<a href="https://netbsd.org">Net<abbr>BSD</abbr></a>, 831.1Schristos<a href="https://www.openbsd.org">Open<abbr>BSD</abbr></a>, 841.13Schristos<a href="https://www.chromium.org/chromium-os/">Chromium OS</a>, 851.1Schristos<a href="https://cygwin.com">Cygwin</a>, 861.7Schristos<a href="https://mariadb.org">MariaDB</a>, 871.1Schristos<a href="https://en.wikipedia.org/wiki/MINIX">MINIX</a>, 881.1Schristos<a href="https://www.mysql.com">MySQL</a>, 891.1Schristos<a href="https://en.wikipedia.org/wiki/WebOS"><abbr 901.1Schristostitle="Web Operating System">webOS</abbr></a>, 911.7Schristos<a href="https://en.wikipedia.org/wiki/IBM_AIX"><abbr 921.1Schristostitle="Advanced Interactive eXecutive">AIX</abbr></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.16Schristostitle="Portable Operating System Interface">POSIX</abbr>.1-2017</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.13SchristosSince version 2022a, each release has been distributed in 1711.10Schristos<a href="https://pubs.opengroup.org/onlinepubs/9699919799/utilities/pax.html#tag_20_92_13_06">POSIX 1721.10Schristosustar interchange format</a>, compressed as described above; 1731.14Schristosolder releases use a nearly compatible format. 1741.1SchristosSince version 2016h, each release has contained a text file named 1751.16Schristos"<code>version</code>" whose first (and currently only) line is the version. 1761.7SchristosOlder releases are <a href="https://ftp.iana.org/tz/releases/">archived</a>, 1771.7Schristosand are also available in an 1781.1Schristos<a href="ftp://ftp.iana.org/tz/releases/"><abbr 1791.1Schristostitle="File Transfer Protocol">FTP</abbr> directory</a> via a 1801.14Schristosless secure protocol.</p> 1811.1Schristos<p>Alternatively, a development repository of code and data can be 1821.1Schristosretrieved from <a href="https://github.com">GitHub</a> via the shell 1831.1Schristoscommand:</p> 1841.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> 1851.1Schristos</code></pre> 1861.1Schristos<p> 1871.1SchristosSince version 2012e, each release has been tagged in development repositories. 1881.1SchristosUntagged commits are less well tested and probably contain 1891.1Schristosmore errors.</p> 1901.1Schristos<p> 1911.1SchristosAfter obtaining the code and data files, see the 1921.1Schristos<code>README</code> file for what to do next. 1931.1SchristosThe code lets you compile the <code><abbr>tz</abbr></code> source files into 1941.2Schristosmachine-readable binary files, one for each location. The binary files 1951.5Schristosare in a special timezone information format (<dfn><abbr>TZif</abbr></dfn>) 1961.13Schristosspecified by <a href="https://datatracker.ietf.org/doc/html/8536">Internet 1971.5Schristos<abbr>RFC</abbr> 8536</a>. 1981.2SchristosThe code also lets 1991.2Schristosyou read a <abbr>TZif</abbr> file and interpret timestamps for that 2001.1Schristoslocation.</p> 2011.6Schristos</section> 2021.6Schristos 2031.6Schristos<section> 2041.1Schristos<h2 id="changes">Changes to the <code><abbr>tz</abbr></code> database</h2> 2051.1Schristos<p> 2061.1SchristosThe <code><abbr>tz</abbr></code> code and data 2071.1Schristosare by no means authoritative. If you find errors, please 2081.1Schristossend changes to <a href="mailto:tz@iana.org"><code>tz@iana.org</code></a>, 2091.1Schristosthe time zone mailing list. You can also <a 2101.1Schristoshref="https://mm.icann.org/mailman/listinfo/tz">subscribe</a> to it 2111.1Schristosand browse the <a 2121.1Schristoshref="https://mm.icann.org/pipermail/tz/">archive of old 2131.5Schristosmessages</a>. 2141.5Schristos<a href="https://tzdata-meta.timtimeonline.com/">Metadata for mailing list 2151.5Schristosdiscussions</a> and corresponding data changes can be 2161.5Schristosgenerated <a href="https://github.com/timparenti/tzdata-meta">automatically</a>. 2171.5Schristos</p> 2181.1Schristos<p> 2191.1SchristosChanges to the <code><abbr>tz</abbr></code> code and data are often 2201.1Schristospropagated to clients via operating system updates, so 2211.1Schristosclient <code><abbr>tz</abbr></code> data can often be corrected by 2221.1Schristosapplying these updates. With GNU/Linux and similar systems, if your 2231.1Schristosmaintenance provider has not yet adopted the 2241.1Schristoslatest <code><abbr>tz</abbr></code> data, you can often short-circuit 2251.1Schristosthe process by tailoring the generic instructions in 2261.1Schristosthe <code><abbr>tz</abbr> README</code> file and installing the latest 2271.1Schristosdata yourself. System-specific instructions for installing the 2281.1Schristoslatest <code><abbr>tz</abbr></code> data have also been published 2291.11Schristosfor <a href="https://developer.ibm.com/articles/au-aix-olson-time-zone/"><abbr>AIX</abbr></a>, 2301.1Schristos<a 2311.10Schristoshref="https://source.android.com/devices/tech/config/timezone-rules">Android</a>, 2321.1Schristos<a 2331.11Schristoshref="https://unicode-org.github.io/icu/userguide/datetime/timezone/"><abbr 2341.1Schristostitle="International Components for Unicode">ICU</abbr></a>, 2351.11Schristos<a href="https://www.ibm.com/support/pages/java-sdk-time-zone-update-utility"><abbr>IBM</abbr> 2361.9SchristosJDK</a>, 2371.9Schristos<a href="https://www.joda.org/joda-time/tz_update.html">Joda-Time</a>, <a 2381.1Schristoshref="https://dev.mysql.com/doc/refman/en/time-zone-support.html">MySQL</a>, 2391.9Schristos<a href="https://nodatime.org/userguide/tzdb">Noda Time</a>, and <a 2401.11Schristoshref="https://www.oracle.com/java/technologies/javase/tzupdater-readme.html">OpenJDK/Oracle JDK</a>. 2411.1Schristos</p> 2421.12Schristos<p>Since version 2013a, 2431.12Schristossources for the <code><abbr>tz</abbr></code> database have been 2441.1Schristos<a href="https://en.wikipedia.org/wiki/UTF-8"><abbr 2451.1Schristostitle="Unicode Transformation Format 8-bit">UTF-8</abbr></a> 2461.1Schristos<a href="https://en.wikipedia.org/wiki/Text_file">text files</a> 2471.1Schristoswith lines terminated by <a href="https://en.wikipedia.org/wiki/Newline"><abbr 2481.1Schristostitle="linefeed">LF</abbr></a>, 2491.1Schristoswhich can be modified by common text editors such 2501.1Schristosas <a href="https://www.gnu.org/software/emacs/">GNU Emacs</a>, 2511.1Schristos<a href="https://wiki.gnome.org/Apps/Gedit">gedit</a>, and 2521.1Schristos<a href="https://www.vim.org">vim</a>. 2531.1SchristosSpecialized source-file editing can be done via the 2541.1Schristos<a href="https://packagecontrol.io/packages/zoneinfo">Sublime 2551.1Schristoszoneinfo</a> package for <a 2561.1Schristoshref="https://www.sublimetext.com">Sublime Text</a> and the <a 2571.1Schristoshref="https://marketplace.visualstudio.com/items?itemName=gilmoreorless.vscode-zoneinfo">VSCode 2581.1Schristoszoneinfo</a> extension for <a href="https://code.visualstudio.com">Visual 2591.1SchristosStudio Code</a>. 2601.1Schristos</p> 2611.1Schristos<p> 2621.1SchristosFor further information about updates, please see 2631.13Schristos<a href="https://datatracker.ietf.org/doc/html/rfc6557">Procedures for 2641.1SchristosMaintaining the Time Zone Database</a> (Internet <abbr 2651.1Schristostitle="Request For Comments">RFC</abbr> 6557). More detail can be 2661.7Schristosfound in <a href="theory.html">Theory and pragmatics of the 2671.7Schristos<code><abbr>tz</abbr></code> code and data</a>. 2681.2Schristos<a href="https://a0.github.io/a0-tzmigration/">A0 TimeZone Migration</a> 2691.2Schristosdisplays changes between recent <code><abbr>tzdb</abbr></code> versions. 2701.1Schristos</p> 2711.6Schristos</section> 2721.6Schristos 2731.6Schristos<section> 2741.14Schristos<h2 id="coordinating">Coordinating with governments and distributors</h2> 2751.14Schristos<p> 2761.14SchristosAs discussed in 2771.14Schristos"<a href="https://www.icann.org/en/blogs/details/how-time-zones-are-coordinated-13-03-2023-en">How 2781.14SchristosTime Zones Are Coordinated</a>", the time zone database relies on 2791.14Schristoscollaboration among governments, the time zone database volunteer 2801.14Schristoscommunity, and data distributors downstream. 2811.14Schristos<p> 2821.14SchristosIf your government plans to change its time zone boundaries or 2831.14Schristosdaylight saving rules, please send email to <a 2841.14Schristoshref="mailto:tz@iana.org"><code>tz@iana.org</code></a> well in advance, 2851.14Schristosas this will lessen confusion and will coordinate updates to many cell phones, 2861.14Schristoscomputers, and other devices around the world. 2871.14SchristosIn your email, please cite the legislation or regulation that specifies 2881.14Schristosthe change, so that it can be checked for details such as the exact times 2891.14Schristoswhen clock transitions occur. 2901.14SchristosIt is OK if a rule change is planned to affect clocks 2911.14Schristosfar into the future, as a long-planned change can easily be reverted 2921.14Schristosor otherwise altered with a year's notice before the change would have 2931.14Schristosaffected clocks.</p> 2941.14Schristos<p> 2951.14SchristosThere is no fixed schedule for <code><abbr>tzdb</abbr></code> releases. 2961.14SchristosHowever, typically a release occurs every few months. 2971.14SchristosMany downstream timezone data distributors wait for 2981.14Schristosa <code><abbr>tzdb</abbr></code> release before they produce an update 2991.14Schristosto time zone behavior in consumer devices and software products. 3001.14SchristosAfter a release, various parties must integrate, test, 3011.14Schristosand roll out an update before <a 3021.14Schristoshref="https://en.wikipedia.org/wiki/End_user">end users</a> see changes. 3031.14SchristosThese updates can be expensive, for both the <a 3041.14Schristoshref="https://en.wikipedia.org/wiki/Quality_assurance">quality 3051.14Schristosassurance</a> process and the overall cost of shipping and installing 3061.14Schristosupdates to each device's copy of <code><abbr>tzdb</abbr></code>. 3071.14SchristosUpdates may be batched with other updates and may take substantial 3081.14Schristostime to reach end users after a release. 3091.14SchristosOlder devices may no longer be supported and thus may never be updated, 3101.14Schristoswhich means they will continue to use out-of-date rules.</p> 3111.14Schristos<p> 3121.14SchristosFor these reasons any rule change should be promulgated at least a 3131.14Schristosyear before it affects how clocks operate; otherwise, there is a good 3141.14Schristoschance that many clocks will be wrong due to delays in propagating updates, 3151.14Schristosand that residents will be confused or even actively resist the change. 3161.14SchristosThe shorter the notice, the more likely clock problems will arise; see "<a 3171.14Schristoshref="https://codeofmatt.com/2016/04/23/on-the-timing-of-time-zone-changes/">On 3181.14Schristosthe Timing of Time Zone Changes</a>" for examples. 3191.14Schristos</p> 3201.14Schristos</section> 3211.14Schristos 3221.14Schristos<section> 3231.1Schristos<h2 id="commentary">Commentary on the <code><abbr>tz</abbr></code> database</h2> 3241.1Schristos<ul> 3251.1Schristos<li>The article 3261.1Schristos<a href="https://en.wikipedia.org/wiki/Tz_database">tz database</a> is 3271.1Schristosan encyclopedic summary.</li> 3281.1Schristos<li><a href="tz-how-to.html">How to Read the 3291.1Schristostz Database Source Files</a> explains the <code><abbr>tz</abbr></code> 3301.1Schristosdatabase format.</li> 3311.1Schristos<li><a 3321.1Schristoshref="https://blog.jonudell.net/2009/10/23/a-literary-appreciation-of-the-olsonzoneinfotz-database/">A 3331.1Schristosliterary appreciation of the Olson/Zoneinfo/tz database</a> comments on the 3341.1Schristosdatabase's style.</li> 3351.10Schristos<li><a href="https://doi.org/10.1145/3340301.3341125">What time is it: 3361.10Schristosmanaging time in the internet</a> analyzes the database longitudinally.</li> 3371.1Schristos</ul> 3381.6Schristos</section> 3391.6Schristos 3401.6Schristos<section> 3411.1Schristos<h2 id="web">Web sites using recent versions of the 3421.1Schristos<code><abbr>tz</abbr></code> database</h2> 3431.1Schristos<p> 3441.1SchristosThese are listed roughly in ascending order of complexity and fanciness. 3451.1Schristos</p> 3461.1Schristos<ul> 3471.1Schristos<li><a href="https://time.is">Time.is</a> shows locations' 3481.1Schristostime and zones.</li> 3491.1Schristos<li><a href="https://www.timejones.com">TimeJones.com</a>, 3501.1Schristos<a href="https://timezoneconverterapp.com">Time Zone Converter</a> and 3511.7Schristos<a href="https://www.worldclock.com">The World Clock</a> 3521.1Schristosare time zone converters.</li> 3531.8Schristos<li><a href="https://timezonedb.com/download">TimeZoneDB Database</a> 3541.8Schristospublishes <code><abbr>tzdb</abbr></code>-derived data in 3551.8Schristos<a href="https://en.wikipedia.org/wiki/Comma-separated_values"><abbr 3561.8Schristostitle="comma-separated values">CSV</abbr></a> and 3571.8Schristosin <a href="https://en.wikipedia.org/wiki/SQL"><abbr 3581.8Schristostitle="Structured Query Language">SQL</abbr></a> form.</li> 3591.1Schristos<li><a 3601.6Schristoshref="https://twiki.org/cgi-bin/xtra/tzdatepick.html">Date and Time Gateway</a> 3611.1Schristoslets you see the <code><abbr>TZ</abbr></code> values directly.</li> 3621.1Schristos<li><a 3631.13Schristoshref="https://www.convertit.com/Go/ConvertIt/World_Time/Current_Time.ASP">Current 3641.1SchristosTime in 1000 Places</a> uses descriptions of the values.</li> 3651.1Schristos<li><a href="https://www.timeanddate.com/worldclock/">The World Clock – 3661.1SchristosWorldwide</a> lets you sort zone names and convert times.</li> 3671.1Schristos<li><a href="https://24timezones.com">24TimeZones</a> has a world 3681.1Schristostime map and a time converter.</li> 3691.1Schristos<li><a href="https://www.zeitverschiebung.net/en/">Time Difference</a> 3701.1Schristoscalculates the current time difference between locations.</li> 3711.13Schristos<li><a href="https://www.wx-now.com">Weather Now</a> and 3721.13Schristos<a href="https://www.thetimenow.com">The Time Now</a> list the weather too.</li> 3731.1Schristos</ul> 3741.6Schristos</section> 3751.6Schristos 3761.6Schristos<section> 3771.1Schristos<h2 id="protocols">Network protocols for <code><abbr>tz</abbr></code> data</h2> 3781.1Schristos<ul> 3791.1Schristos<li>The <a href="https://www.ietf.org">Internet Engineering Task Force</a>'s 3801.1Schristos<a href="https://datatracker.ietf.org/wg/tzdist/charter/">Time Zone Data 3811.1SchristosDistribution Service (tzdist) working group</a> defined <a 3821.13Schristoshref="https://datatracker.ietf.org/doc/html/rfc7808">TZDIST</a> 3831.1Schristos(Internet <abbr>RFC</abbr> 7808), a time zone data distribution service, 3841.13Schristosalong with <a href="https://datatracker.ietf.org/doc/html/rfc7809">CalDAV</a> 3851.1Schristos(Internet <abbr>RFC</abbr> 7809), a calendar access protocol for 3861.2Schristostransferring time zone data by reference. 3871.8Schristos<a href="https://devguide.calconnect.org/Time-Zones/TZDS/">TZDIST 3881.8Schristosimplementations</a> are available. 3891.2SchristosThe <a href="https://www.ietf.org/mailman/listinfo/tzdist-bis">tzdist-bis 3901.9Schristosmailing list</a> discusses possible extensions.</li> 3911.13Schristos<li>The <a href="https://datatracker.ietf.org/doc/html/rfc5545"> 3921.1SchristosInternet Calendaring and Scheduling Core Object Specification 3931.1Schristos(iCalendar)</a> (Internet <abbr>RFC</abbr> 5445) 3941.1Schristoscovers time zone 3951.1Schristosdata; see its VTIMEZONE calendar component. 3961.1SchristosThe iCalendar format requires specialized parsers and generators; a 3971.13Schristosvariant <a href="https://datatracker.ietf.org/doc/html/rfc6321">xCal</a> 3981.1Schristos(Internet <abbr>RFC</abbr> 6321) uses 3991.1Schristos<a href="https://www.w3.org/XML/"><abbr 4001.1Schristostitle="Extensible Markup Language">XML</abbr></a> format, and a variant 4011.13Schristos<a href="https://datatracker.ietf.org/doc/html/rfc7265">jCal</a> 4021.1Schristos(Internet <abbr>RFC</abbr> 7265) 4031.1Schristosuses <a href="https://www.json.org"><abbr 4041.1Schristostitle="JavaScript Object Notation">JSON</abbr></a> format.</li> 4051.1Schristos</ul> 4061.6Schristos</section> 4071.6Schristos 4081.6Schristos<section> 4091.1Schristos<h2 id="compilers">Other <code><abbr>tz</abbr></code> compilers</h2> 4101.7Schristos<p>Although some of these do not fully support 4111.7Schristos<code><abbr>tz</abbr></code> data, in recent <code><abbr>tzdb</abbr></code> 4121.7Schristosdistributions you can generally work around compatibility problems by 4131.7Schristosrunning the command <code>make rearguard_tarballs</code> and compiling 4141.7Schristosfrom the resulting tarballs instead.</p> 4151.1Schristos<ul> 4161.1Schristos<li><a href="https://sourceforge.net/projects/vzic/">Vzic</a> is a <a 4171.14Schristoshref="https://en.wikipedia.org/wiki/C_(programming_language)">C</a> 4181.1Schristosprogram that compiles 4191.1Schristos<code><abbr>tz</abbr></code> source into iCalendar-compatible VTIMEZONE files. 4201.1SchristosVzic is freely 4211.1Schristosavailable under the <a 4221.1Schristoshref="https://www.gnu.org/copyleft/gpl.html"><abbr>GNU</abbr> 4231.1SchristosGeneral Public License (<abbr 4241.1Schristostitle="General Public License">GPL</abbr>)</a>.</li> 4251.1Schristos<li><a href="https://sourceforge.net/projects/tzical/">tziCal – tz 4261.1Schristosdatabase conversion utility</a> is like Vzic, except for the <a 4271.6Schristoshref="https://dotnet.microsoft.com">.NET framework</a> 4281.1Schristosand with a <abbr>BSD</abbr>-style license.</li> 4291.1Schristos<li><a 4301.4Schristoshref="https://metacpan.org/release/DateTime-TimeZone">DateTime::TimeZone</a> 4311.1Schristoscontains a script <code>parse_olson</code> that compiles 4321.1Schristos<code><abbr>tz</abbr></code> source into <a href="https://www.perl.org">Perl</a> 4331.1Schristosmodules. It is part of the Perl <a 4341.4Schristoshref="https://github.com/houseabsolute/DateTime.pm/wiki">DateTime Project</a>, 4351.4Schristoswhich is freely 4361.1Schristosavailable under both the <abbr>GPL</abbr> and the Perl Artistic 4371.1SchristosLicense. DateTime::TimeZone also contains a script 4381.1Schristos<code>tests_from_zdump</code> that generates test cases for each clock 4391.1Schristostransition in the <code><abbr>tz</abbr></code> database.</li> 4401.1Schristos<li>The <a href="https://howardhinnant.github.io/date/tz.html">Time Zone 4411.1SchristosDatabase Parser</a> is a 4421.14Schristos<a href="https://en.wikipedia.org/wiki/C++">C++</a> parser and 4431.9Schristosruntime library with <a 4441.13Schristoshref="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0355r7.html">API</a> 4451.9Schristosadopted by 4461.6Schristos<a href="https://en.wikipedia.org/wiki/C++20">C++20</a>, 4471.9Schristosthe current iteration of the C++ standard. 4481.1SchristosIt is freely available under the 4491.1Schristos<abbr title="Massachusetts Institute of Technology">MIT</abbr> license.</li> 4501.13Schristos<li><a id="ICU" href="https://icu.unicode.org">International Components for 4511.1SchristosUnicode (<abbr>ICU</abbr>)</a> contains C/C++ and <a 4521.14Schristoshref="https://en.wikipedia.org/wiki/Java_(programming_language)">Java</a> 4531.1Schristoslibraries for internationalization that 4541.1Schristoshas a compiler from <code><abbr>tz</abbr></code> source 4551.1Schristosand from <abbr title="Common Locale Data Repository">CLDR</abbr> data 4561.1Schristos(mentioned <a href="#CLDR">below</a>) 4571.1Schristosinto an <abbr>ICU</abbr>-specific format. 4581.1Schristos<abbr>ICU</abbr> is freely available under a 4591.1Schristos<abbr>BSD</abbr>-style license.</li> 4601.1Schristos<li>The <a href="https://github.com/lau/tzdata">Tzdata</a> package for 4611.1Schristosthe <a href="https://elixir-lang.org">Elixir</a> language downloads 4621.7Schristosand compiles <code><abbr>tz</abbr></code> source and exposes <abbr 4631.1Schristostitle="Application Program Interface">API</abbr>s for use. It is 4641.1Schristosfreely available under the <abbr>MIT</abbr> license.</li> 4651.1Schristos<li>Java-based compilers and libraries include: 4661.1Schristos<ul> 4671.1Schristos<li>The <a 4681.9Schristoshref="https://www.oracle.com/java/technologies/javase/tzupdater-readme.html">TZUpdater 4691.1Schristostool</a> compiles <code><abbr>tz</abbr></code> source into the format used by 4701.9Schristos<a href="https://openjdk.java.net/">OpenJDK</a> and 4711.9Schristos<a href="https://jdk.java.net/">Oracle JDK</a>. 4721.9SchristosAlthough its source code is proprietary, its executable is available under the 4731.9Schristos<a href="https://www.oracle.com/a/tech/docs/tzupdater-lic.html">Java SE 4741.9SchristosTimezone Updater License Agreement</a>.</li> 4751.1Schristos<li>The <a 4761.4Schristoshref="https://www.oracle.com/technetwork/articles/java/jf14-date-time-2125367.html">Java 4771.6SchristosSE 8 Date and Time</a> <abbr>API</abbr> can be supplemented by <a 4781.4Schristoshref="https://www.threeten.org/threeten-extra/">ThreeTen-Extra</a>, 4791.1Schristoswhich is freely available under a <abbr>BSD</abbr>-style license.</li> 4801.4Schristos<li><a href="https://www.joda.org/joda-time/">Joda-Time – Java date 4811.1Schristosand time <abbr>API</abbr></a> contains a class 4821.1Schristos<code>org.joda.time.tz.ZoneInfoCompiler</code> that compiles 4831.1Schristos<code><abbr>tz</abbr></code> source into a binary format. It inspired 4841.1SchristosJava 8 <code>java.time</code>, which its users should migrate to once 4851.1Schristosthey can assume Java 8 or later. It is available under the <a 4861.1Schristoshref="https://www.apache.org/licenses/LICENSE-2.0">Apache License</a>.</li> 4871.9Schristos<li><a href="https://bell-sw.com/pages/iana-updater/">IANA Updater</a> and <a 4881.7Schristoshref="https://www.azul.com/products/open-source-tools/ziupdater-time-zone-tool/">ZIUpdater</a> 4891.9Schristosare alternatives to TZUpdater. IANA Updater's license is unclear; 4901.9SchristosZIUpdater is licensed under the <abbr>GPL</abbr>.</li> 4911.4Schristos<li><a href="https://github.com/MenoData/Time4A">Time4A: Advanced date and 4921.4Schristostime library for Android</a> and 4931.4Schristos<a href="https://github.com/MenoData/Time4J/">Time4J: Advanced date, 4941.4Schristostime and interval library for Java</a> compile 4951.4Schristos<code><abbr>tz</abbr></code> source into a binary format. 4961.4SchristosTime4A is available under the Apache License and Time4J is 4971.1Schristosavailable under the <a 4981.1Schristoshref="https://www.gnu.org/copyleft/lesser.html"><abbr>GNU</abbr> Lesser 4991.1SchristosGeneral Public License (<abbr title="Lesser General Public 5001.1SchristosLicense">LGPL</abbr>)</a>.</li> 5011.1Schristos<li><abbr>ICU</abbr> (mentioned <a href="#ICU">above</a>) contains compilers and 5021.1SchristosJava-based libraries.</li> 5031.1Schristos</ul> 5041.1Schristos<li><a href="https://nodatime.org">Noda Time – Date and 5051.1Schristostime <abbr>API</abbr> for .NET</a> 5061.4Schristosis like Joda-Time and Time4J, but for the .NET framework instead of Java. 5071.4SchristosIt is freely available under the Apache License.</li> 5081.8Schristos<li>Many modern 5091.8Schristos<a href="https://en.wikipedia.org/wiki/JavaScript">JavaScript</a> 5101.8Schristosruntimes support <code><abbr>tz</abbr></code> natively via the 5111.16Schristos<code>timeZone</code> option of <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat"><code>Intl.DateTimeFormat</code></a>. 5121.10SchristosThis can be used as-is or with most of the following libraries, 5131.16Schristosmany of which also support runtimes lacking the <code>timeZone</code> option. 5141.1Schristos<ul> 5151.8Schristos<li>The <a 5161.16Schristoshref="https://github.com/formatjs/date-time-format-timezone"><code>Intl.DateTimeFormat</code> 5171.8Schristostimezone polyfill</a> 5181.8Schristosis freely available under a <abbr>BSD</abbr>-style license.</li> 5191.10Schristos<li>The <a href="https://date-fns.org/">date-fns</a> 5201.10Schristoslibrary manipulates timezone-aware timestamps in browsers and 5211.10Schristosin <a href="https://nodejs.org/en/">Node.js</a>. 5221.10SchristosIt is freely available under the <abbr>MIT</abbr> license.</li> 5231.10Schristos<li><a href="https://github.com/iamkun/dayjs">Day.js</a> is a 5241.10Schristosminimalist replacement for the date and time API of 5251.10Schristosthe <a href="https://momentjs.com/docs/">now-legacy Moment.js</a> date 5261.10Schristosmanipulation library. 5271.10SchristosIt is freely available under the <abbr>MIT</abbr> license.</li> 5281.10Schristos<li><a href="https://moment.github.io/luxon/">Luxon</a> improves 5291.16Schristostimezone support for the <code>Intl</code> API. 5301.10SchristosIt is freely available under the <abbr>MIT</abbr> license.</li> 5311.1Schristos<li><a href="https://momentjs.com/timezone/">Moment Timezone</a> is a 5321.10SchristosMoment.js plugin. 5331.10SchristosIt is freely available under the <abbr>MIT</abbr> license.</li> 5341.8Schristos<li><a href="https://github.com/bigeasy/timezone">Timezone</a> is a 5351.8SchristosJavaScript library that supports date arithmetic that is time zone 5361.8Schristosaware. It is freely available under the <abbr>MIT</abbr> license.</li> 5371.10Schristos<li><a href="https://www.npmjs.com/package/@tubular/time">@tubular/time</a> 5381.10Schristossupports live <code><abbr>tzdb</abbr></code> updates, 5391.10Schristosastronomical and atomic time, a command-line interface, 5401.10Schristosand full <a 5411.10Schristoshref="https://en.wikipedia.org/wiki/TypeScript">TypeScript</a>. 5421.10SchristosIts companion <a 5431.10Schristoshref="https://www.npmjs.com/package/@tubular/time-tzdb">@tubular/time-tzdb</a> 5441.10Schristoscan generate <abbr>TZif</abbr> and other files, and a companion website 5451.10Schristos<a href="https://tzexplorer.org">Timezone Database Explorer</a> lets you 5461.10Schristosconvert timestamps, view transition histories, and download code and data. 5471.10SchristosIt is freely available under the <abbr>MIT</abbr> license.</li> 5481.1Schristos</ul> 5491.10SchristosThe proposed <a 5501.16Schristoshref="https://github.com/tc39/proposal-temporal"><code>Temporal</code> 5511.10Schristosobjects</a> let programs access an abstract view of 5521.10Schristos<code><abbr>tzdb</abbr></code> data, and are designed to replace <a 5531.10Schristoshref="https://codeofmatt.com/javascript-date-type-is-horribly-broken/">JavaScript's 5541.16Schristosproblematic <code>Date</code> objects</a> when working with dates and times. 5551.1Schristos<li><a href="https://github.com/JuliaTime/">JuliaTime</a> contains a 5561.1Schristoscompiler from <code><abbr>tz</abbr></code> source into 5571.1Schristos<a href="https://julialang.org/">Julia</a>. It is freely available 5581.1Schristosunder the <abbr>MIT</abbr> license.</li> 5591.6Schristos<li><a href="https://github.com/pavkam/tzdb"><abbr>TZDB</abbr> – 5601.6Schristos<abbr>IANA</abbr> Time Zone Database for Delphi/<abbr 5611.6Schristostitle="Free Pascal Compiler">FPC</abbr></a> 5621.2Schristoscompiles from <code><abbr>tz</abbr></code> source into 5631.2Schristos<a href="https://en.wikipedia.org/wiki/Object_Pascal">Object Pascal</a> 5641.2Schristosas compiled by <a href="https://en.wikipedia.org/wiki/Delphi_(IDE)">Delphi</a> 5651.2Schristosand <a 5661.2Schristoshref="https://en.wikipedia.org/wiki/Free_Pascal"><abbr>FPC</abbr></a>. 5671.2SchristosIt is freely available under a <abbr>BSD</abbr>-style license.</li> 5681.1Schristos<li><a href="http://pytz.sourceforge.net">pytz – World Timezone 5691.1SchristosDefinitions for Python</a> compiles <code><abbr>tz</abbr></code> source into 5701.1Schristos<a href="https://www.python.org">Python</a>. 5711.9SchristosIt is freely available under a <abbr>BSD</abbr>-style license. 5721.11SchristosIn code that can assume Python 3.6 or later it is largely superseded; see <a 5731.11Schristoshref="https://blog.ganssle.io/articles/2018/03/pytz-fastest-footgun.html">pytz: 5741.11SchristosThe Fastest Footgun in the West</a>.</li> 5751.1Schristos<li><a href="https://tzinfo.github.io">TZInfo – 5761.1SchristosRuby Timezone Library</a> 5771.1Schristoscompiles <code><abbr>tz</abbr></code> source into 5781.1Schristos<a href="https://www.ruby-lang.org/en/">Ruby</a>. 5791.1SchristosIt is freely available under the <abbr>MIT</abbr> license.</li> 5801.13Schristos<li>The <a href="https://www.squeaksource.com/Chronos/">Chronos Date/Time 5811.1SchristosLibrary</a> is 5821.1Schristosa <a href="https://en.wikipedia.org/wiki/Smalltalk">Smalltalk</a> class 5831.1Schristoslibrary that compiles <code><abbr>tz</abbr></code> source into a time 5841.1Schristoszone repository whose format 5851.1Schristosis either proprietary or an <abbr>XML</abbr>-encoded 5861.1Schristosrepresentation.</li> 5871.1Schristos<li><a id="Tcl" href="https://tcl.tk">Tcl</a> 5881.1Schristoscontains a developer-oriented parser that compiles <code><abbr>tz</abbr></code> 5891.1Schristossource into text files, along with a runtime that can read those 5901.1Schristosfiles. Tcl is freely available under a <abbr>BSD</abbr>-style 5911.1Schristoslicense.</li> 5921.1Schristos</ul> 5931.6Schristos</section> 5941.6Schristos 5951.6Schristos<section> 5961.2Schristos<h2 id="TZif">Other <abbr>TZif</abbr> readers</h2> 5971.1Schristos<ul> 5981.1Schristos<li>The <a 5991.1Schristoshref="https://www.gnu.org/software/libc/"><abbr>GNU</abbr> C 6001.1SchristosLibrary</a> 6011.1Schristoshas an independent, thread-safe implementation of 6021.2Schristosa <abbr>TZif</abbr> file reader. 6031.1SchristosThis library is freely available under the LGPL 6041.1Schristosand is widely used in <abbr>GNU</abbr>/Linux systems.</li> 6051.1Schristos<li><a href="https://www.gnome.org">GNOME</a>'s 6061.1Schristos<a href="https://developer.gnome.org/glib/">GLib</a> has 6071.2Schristosa <abbr>TZif</abbr> file reader written in C that 6081.1Schristoscreates a <code>GTimeZone</code> object representing sets 6091.1Schristosof <abbr>UT</abbr> offsets. 6101.1SchristosIt is freely available under the <abbr>LGPL</abbr>.</li> 6111.1Schristos<li>The 6121.1Schristos<a href="https://github.com/bloomberg/bde/wiki">BDE Standard Library</a>'s 6131.1Schristos<code>baltzo::TimeZoneUtil</code> component contains a C++ 6141.2Schristosimplementation of a <abbr>TZif</abbr> file reader. It is freely available under 6151.1Schristosthe Apache License.</li> 6161.1Schristos<li><a href="https://github.com/google/cctz">CCTZ</a> is a simple C++ 6171.1Schristoslibrary that translates between <abbr>UT</abbr> and civil time and 6181.2Schristoscan read <abbr>TZif</abbr> files. It is freely available under the Apache 6191.1SchristosLicense.</li> 6201.16Schristos<li>The 6211.16Schristos<a href="https://github.com/nayarsystems/posix_tz_db"><code>posix_tz_db</code> 6221.16Schristospackage</a> contains Python code 6231.16Schristosto generate <abbr>CSV</abbr> and <abbr>JSON</abbr> tables that map 6241.16Schristos<code><abbr>tz</abbr></code> settings to POSIX.1-2017-like approximations. 6251.16SchristosFor example, it maps <code>"Africa/Cairo"</code> 6261.16Schristosto <code>"EET-2EEST,M4.5.5/0,M10.5.4/24"</code>, 6271.16Schristosan approximation valid for Cairo timestamps from 2023 on. 6281.16SchristosThis can help porting to platforms that support only POSIX.1-2017. 6291.16SchristosThe package is freely available under the MIT license.</li> 6301.1Schristos<li><a href="https://github.com/derickr/timelib">Timelib</a> is a C 6311.2Schristoslibrary that reads <abbr>TZif</abbr> files and converts 6321.2Schristostimestamps from one time zone or format to another. 6331.1SchristosIt is used by <a href="https://secure.php.net"><abbr 6341.1Schristostitle="PHP: Hypertext Preprocessor">PHP</abbr></a>, 6351.1Schristos<a href="https://hhvm.com"><abbr title="HipHop Virtual Machine">HHVM</abbr></a>, 6361.1Schristosand <a href="https://www.mongodb.com">MongoDB</a>. 6371.1SchristosIt is freely available under the <abbr>MIT</abbr> license.</li> 6381.1Schristos<li>Tcl, mentioned <a href="#Tcl">above</a>, also contains a 6391.2Schristos<abbr>TZif</abbr> file reader.</li> 6401.4Schristos<li><a href="https://metacpan.org/pod/DateTime::TimeZone::Tzfile"> 6411.1SchristosDateTime::TimeZone::Tzfile</a> 6421.2Schristosis a <abbr>TZif</abbr> file reader written in Perl. 6431.1SchristosIt is freely available under the same terms as Perl 6441.1Schristos(dual <abbr>GPL</abbr> and Artistic license).</li> 6451.9Schristos<li>Python has a <a id="python-zoneinfo" 6461.11Schristoshref="https://docs.python.org/3/library/zoneinfo.html"><code>zoneinfo.ZoneInfo</code> 6471.8Schristosclass</a> that reads <abbr>TZif</abbr> data and creates objects 6481.8Schristosthat represent <code><abbr>tzdb</abbr></code> timezones. 6491.8SchristosPython is freely available under the 6501.11Schristos<a href="https://docs.python.org/3/license.html">Python Software Foundation 6511.8SchristosLicense</a>. 6521.9SchristosA companion <a id="pypi-tzdata" href="https://pypi.org/">PyPI</a> module 6531.8Schristos<a href="https://pypi.org/project/tzdata/"><code>tzdata</code></a> 6541.8Schristossupplies TZif data if the underlying system data cannot be found; 6551.8Schristosit is freely available under the Apache License.</li> 6561.1Schristos<li>The 6571.1Schristospublic-domain <a href="https://github.com/dbaron/tz.js">tz.js</a> 6581.1Schristoslibrary contains a Python tool that 6591.2Schristosconverts <abbr>TZif</abbr> data into 6601.1Schristos<abbr>JSON</abbr>-format data suitable for use 6611.1Schristosin its JavaScript library for time zone conversion. Dates before 1970 6621.1Schristosare not supported.</li> 6631.1Schristos<li>The <a 6641.1Schristoshref="https://hackage.haskell.org/package/timezone-olson">timezone-olson</a> 6651.1Schristospackage contains <a href="https://www.haskell.org">Haskell</a> code that 6661.2Schristosparses and uses <abbr>TZif</abbr> data. It is freely 6671.1Schristosavailable under a <abbr>BSD</abbr>-style license.</li> 6681.1Schristos</ul> 6691.6Schristos</section> 6701.6Schristos 6711.6Schristos<section> 6721.1Schristos<h2 id="software">Other <code><abbr>tz</abbr></code>-based time zone software</h2> 6731.1Schristos<ul> 6741.1Schristos<li><a href="https://foxclocks.org">FoxClocks</a> 6751.1Schristosis an extension for <a href="https://www.google.com/chrome/">Google 6761.16SchristosChrome</a>, <a 6771.1Schristoshref="https://www.mozilla.org/en-US/firefox/new/">Firefox</a> and <a 6781.1Schristoshref="https://www.mozilla.org/en-US/thunderbird/">Thunderbird</a>. 6791.1SchristosIt displays multiple clocks in the application window, and has a mapping 6801.1Schristosinterface to <a href="https://www.google.com/earth/">Google Earth</a>. 6811.1SchristosIt is freely available under the <abbr>GPL</abbr>.</li> 6821.1Schristos<li><a href="https://golang.org">Go programming language</a> 6831.1Schristosimplementations contain a copy of a 32-bit subset of a recent 6841.1Schristos<code><abbr>tz</abbr></code> database in a 6851.1SchristosGo-specific format.</li> 6861.1Schristos<li>Microsoft Windows 8.1 6871.1Schristosand later has <code><abbr>tz</abbr></code> data and <abbr>CLDR</abbr> 6881.3Schristosdata (mentioned <a href="#CLDR">below</a>) used by the 6891.3Schristos<a href="https://en.wikipedia.org/wiki/Windows_Runtime">Windows Runtime</a> / 6901.3Schristos<a href="https://en.wikipedia.org/wiki/Universal_Windows_Platform">Universal Windows Platform</a> classes 6911.3Schristos<a href="https://docs.microsoft.com/uwp/api/Windows.Globalization.DateTimeFormatting.DateTimeFormatter"><code>DateTimeFormatter</code></a> and 6921.3Schristos<a href="https://docs.microsoft.com/uwp/api/windows.globalization.calendar"><code>Calendar</code></a>. 6931.1Schristos<a id="System.TimeZoneInfo" 6941.1Schristoshref="https://blogs.msdn.microsoft.com/bclteam/2007/06/07/exploring-windows-time-zones-with-system-timezoneinfo-josh-free/">Exploring 6951.1SchristosWindows Time Zones with <code>System.TimeZoneInfo</code></a> describes 6961.1Schristosthe older, proprietary method of Microsoft Windows 2000 and later, 6971.1Schristoswhich stores time zone data in the 6981.1Schristos<a href="https://en.wikipedia.org/wiki/Windows_Registry">Windows Registry</a>. The 6991.1Schristos<a 7001.1Schristoshref="https://unicode.org/cldr/charts/latest/supplemental/zone_tzid.html">Zone → 7011.1SchristosTzid table</a> or <a 7021.6Schristoshref="https://github.com/unicode-org/cldr/blob/master/common/supplemental/windowsZones.xml"><abbr>XML</abbr> 7031.1Schristosfile</a> of the <abbr>CLDR</abbr> data maps proprietary zone IDs 7041.1Schristosto <code><abbr>tz</abbr></code> names. 7051.3SchristosThese mappings can be performed programmatically via the <a href="https://github.com/mj1856/TimeZoneConverter">TimeZoneConverter</a> .NET library, 7061.3Schristosor the ICU Java and C++ libraries mentioned <a href="#ICU">above</a>. 7071.1Schristos<li><a 7081.1Schristoshref="https://www.oracle.com/java/index.html">Oracle 7091.1SchristosJava</a> contains a copy of a subset of a recent 7101.1Schristos<code><abbr>tz</abbr></code> database in a 7111.1SchristosJava-specific format.</li> 7121.1Schristos</ul> 7131.6Schristos</section> 7141.6Schristos 7151.6Schristos<section> 7161.1Schristos<h2 id="other-dbs">Other time zone databases</h2> 7171.1Schristos<ul> 7181.1Schristos<li><a href="https://www.astro.com/atlas">Time-zone Atlas</a> 7191.4Schristosis Astrodienst's Web version of Shanks and Pottenger's out-of-print 7201.4Schristostime zone history atlases 7211.4Schristos<a href="https://www.worldcat.org/oclc/468828649">for the US</a> and 7221.9Schristos<a href="https://www.worldcat.org/oclc/76950459">for the world</a>. 7231.4SchristosAlthough these extensive atlases 7241.4Schristos<a href="https://astrologynewsservice.com/opinion/how-astrologers-contributed-to-the-information-age-a-brief-history-of-time/">were 7251.4Schristossources for much of the older <code><abbr>tz</abbr></code> data</a>, 7261.4Schristosthey are unreliable as Shanks appears to have 7271.1Schristosguessed many <abbr>UT</abbr> offsets and transitions. The atlases cite no 7281.1Schristossources and do not indicate which entries are guesswork.</li> 7291.1Schristos<li><a href="https://en.wikipedia.org/wiki/HP-UX">HP-UX</a> has a database in 7301.1Schristosits own <code>tztab</code>(4) format.</li> 7311.1Schristos<li>Microsoft Windows has proprietary data mentioned 7321.1Schristos<a href="#System.TimeZoneInfo">above</a>.</li> 7331.1Schristos<li><a href="https://www.worldtimeserver.com">World Time Server</a> 7341.1Schristosis another time zone database.</li> 7351.1Schristos<li>The <a 7361.1Schristoshref="https://www.iata.org/publications/store/Pages/standard-schedules-information.aspx">Standard 7371.1SchristosSchedules Information Manual</a> of the 7381.1SchristosInternational Air Transport Association 7391.1Schristosgives current time zone rules for airports served by commercial aviation.</li> 7401.1Schristos</ul> 7411.6Schristos</section> 7421.6Schristos 7431.6Schristos<section> 7441.1Schristos<h2 id="maps">Maps</h2> 7451.1Schristos<ul> 7461.9Schristos<li>The <a 7471.9Schristoshref="https://www.cia.gov/the-world-factbook/maps/world-regional/">World 7481.9Schristosand Regional Maps section</a> of <em>The World Factbook</em>, published by the 7491.9Schristos<a href="https://www.cia.gov">US Central Intelligence 7501.9SchristosAgency (<abbr 7511.9Schristostitle="Central Intelligence Agency">CIA</abbr>)</a>, contains a time 7521.9Schristoszone map; the 7531.1Schristos<a 7541.6Schristoshref="https://legacy.lib.utexas.edu/maps/world.html">Perry–Castañeda 7551.1SchristosLibrary Map Collection</a> 7561.1Schristosof the University of Texas at Austin has copies of 7571.1Schristosrecent editions. 7581.1SchristosThe pictorial quality is good, 7591.1Schristosbut the maps do not indicate daylight saving time, 7601.1Schristosand parts of the data are a few years out of date.</li> 7611.6Schristos<li><a href="https://www.worldtimezone.com">World Time Zone Map 7621.6Schristoswith current time</a> 7631.1Schristoshas several fancy time zone maps; it covers Russia particularly well. 7641.1SchristosThe maps' pictorial quality is not quite as good as the 7651.1Schristos<abbr>CIA</abbr>'s 7661.1Schristosbut the maps are more up to date.</li> 7671.1Schristos<li><a 7681.1Schristoshref="https://blog.poormansmath.net/how-much-is-time-wrong-around-the-world/">How 7691.1Schristosmuch is time wrong around the world?</a> maps the difference between 7701.1Schristosmean solar and standard time, highlighting areas such as western China 7711.1Schristoswhere the two differ greatly. It's a bit out of date, unfortunately.</li> 7721.1Schristos</ul> 7731.6Schristos</section> 7741.6Schristos 7751.6Schristos<section> 7761.1Schristos<h2 id="boundaries">Time zone boundaries</h2> 7771.2Schristos<p>Geographical boundaries between timezones are available 7781.9Schristosfrom several <a 7791.9Schristoshref="https://en.wikipedia.org/wiki/Internet_geolocation">Internet 7801.9Schristosgeolocation</a> 7811.1Schristosservices and other sources.</p> 7821.1Schristos<ul> 7831.1Schristos<li><a href="https://github.com/evansiroky/timezone-boundary-builder">Timezone 7841.1SchristosBoundary Builder</a> extracts 7851.1Schristos<a href="https://www.openstreetmap.org">Open Street Map</a> data to build 7861.2Schristosboundaries of <code><abbr>tzdb</abbr></code> timezones. 7871.1SchristosIts code is freely available under the <abbr>MIT</abbr> license, and 7881.1Schristosits data entries are freely available under the 7891.1Schristos<a href="https://opendatacommons.org/licenses/odbl/">Open Data Commons 7901.16SchristosOpen Database License</a>. The borders appear to be quite accurate. 7911.16SchristosIts main web page lists more than twenty libraries 7921.16Schristosfor looking up a timezone name from a GPS coordinate.</li> 7931.1Schristos<li>Free access via a network API, if you register a key, is provided by 7941.4Schristosthe <a 7951.4Schristoshref="https://www.geonames.org/export/web-services.html#timezone">GeoNames 7961.4SchristosTimezone web service</a>, the <a 7971.4Schristoshref="https://developers.google.com/maps/documentation/timezone/intro">Google 7981.4SchristosMaps Time Zone API</a>, and 7991.8Schristosthe <a href="https://timezonedb.com/api">TimeZoneDB API</a>. 8001.1SchristosCommercial network API access is provided 8011.1Schristosby <a href="https://askgeo.com">AskGeo</a> 8021.1Schristosand <a href="https://www.geogarage.com/blog/news-1/post/geogarage-time-zone-api-31">GeoGarage</a>. 8031.1Schristos</li> 8041.1Schristos<li>"<a 8051.1Schristoshref="https://stackoverflow.com/questions/16086962/how-to-get-a-time-zone-from-a-location-using-latitude-and-longitude-coordinates/16086964">How 8061.1Schristosto get a time zone from a location using latitude and longitude 8071.1Schristoscoordinates?</a>" discusses other geolocation possibilities.</li> 8081.1Schristos<li><a href="http://statoids.com/statoids.html">Administrative 8091.1SchristosDivisions of Countries ("Statoids")</a> lists 8101.1Schristospolitical subdivision data related to time zones.</li> 8111.13Schristos<li><a href="https://manifold.net/info/freestuff.shtml">Manifold Software 8121.1Schristos– GIS and Database Tools</a> includes a Manifold-format map of 8131.16Schristosworld time zone boundaries circa 2007, distributed under the 8141.1Schristos<abbr>GPL</abbr>.</li> 8151.1Schristos<li>A ship within the <a 8161.1Schristoshref="https://en.wikipedia.org/wiki/Territorial_waters">territorial 8171.1Schristoswaters</a> of any nation uses that nation's time. In international 8181.1Schristoswaters, time zone boundaries are meridians 15° apart, except that 8191.1Schristos<abbr>UT</abbr>−12 and <abbr>UT</abbr>+12 are each 7.5° 8201.1Schristoswide and are separated by 8211.1Schristosthe 180° meridian (not by the International Date Line, which is 8221.1Schristosfor land and territorial waters only). A captain can change ship's 8231.1Schristosclocks any time after entering a new time zone; midnight changes are 8241.1Schristoscommon.</li> 8251.1Schristos</ul> 8261.6Schristos</section> 8271.6Schristos 8281.6Schristos<section> 8291.1Schristos<h2 id="civil">Civil time concepts and history</h2> 8301.1Schristos<ul> 8311.1Schristos<li><a href="https://www.nist.gov/pml/time-and-frequency-division/popular-links/walk-through-time">A 8321.1SchristosWalk through Time</a> 8331.1Schristossurveys the evolution of timekeeping.</li> 8341.4Schristos<li>The history of daylight saving time is surveyed in <a 8351.4Schristoshref="http://www.webexhibits.org/daylightsaving/">About Daylight 8361.4SchristosSaving Time – History, rationale, laws & dates</a> and summarized in 8371.4Schristos<a href="http://seizethedaylight.com/dst/">A Brief 8381.4SchristosHistory of Daylight Saving Time</a>.</li> 8391.4Schristos<li><a href="https://www.laphamsquarterly.org/roundtable/time-lords">Time 8401.4SchristosLords</a> discusses how authoritarians manipulate civil time.</li> 8411.1Schristos<li><a href="https://www.w3.org/TR/timezone/">Working with Time Zones</a> 8421.1Schristoscontains guidelines and best practices for software applications that 8431.1Schristosdeal with civil time.</li> 8441.16Schristos<li><a href="https://webspace.science.uu.nl/~gent0113/idl/idl.htm">A History of 8451.1Schristosthe International Date Line</a> tells the story of the most important 8461.1Schristostime zone boundary.</li> 8471.1Schristos<li><a href="http://statoids.com/tconcept.html">Basic Time 8481.1SchristosZone Concepts</a> discusses terminological issues behind time zones.</li> 8491.1Schristos</ul> 8501.6Schristos</section> 8511.6Schristos 8521.6Schristos<section> 8531.1Schristos<h2 id="national">National histories of legal time</h2> 8541.1Schristos<dl> 8551.1Schristos<dt>Australia</dt> 8561.6Schristos<dd>The Parliamentary Library commissioned a <a 8571.16Schristoshref="https://parlinfo.aph.gov.au/parlInfo/download/library/prspub/359V6/upload_binary/359v60.pdf">research 8581.1Schristospaper on daylight saving time in Australia</a>. 8591.1SchristosThe Bureau of Meteorology publishes a list of <a 8601.1Schristoshref="http://www.bom.gov.au/climate/averages/tables/dst_times.shtml">Implementation 8611.1SchristosDates of Daylight Savings Time within Australia</a>.</dd> 8621.1Schristos<dt>Belgium</dt> 8631.7Schristos<dd>The Royal Observatory of Belgium maintains a table of time in 8641.7SchristosBelgium (in 8651.16Schristos<a href="https://robinfo.oma.be/nl/astro-info/tijd/" 8661.7Schristoshreflang="nl">Dutch</a> and <a 8671.16Schristoshref="https://robinfo.oma.be/fr/astro-info/heure/" 8681.7Schristoshreflang="fr">French</a>).</dd> 8691.1Schristos<dt>Brazil</dt> 8701.1Schristos<dd>The Time Service Department of the National Observatory 8711.1Schristosrecords <a href="http://pcdsh01.on.br/DecHV.html" 8721.1Schristoshreflang="pt-BR">Brazil's daylight saving time decrees (in 8731.1SchristosPortuguese)</a>.</dd> 8741.1Schristos<dt>Canada</dt> 8751.1Schristos<dd>National Research Council Canada publishes current 8761.1Schristosand some older information about <a 8771.6Schristoshref="https://nrc.canada.ca/en/certifications-evaluations-standards/canadas-official-time/time-zones-daylight-saving-time">time 8781.6Schristoszones and daylight saving time</a>.</dd> 8791.1Schristos<dt>Chile</dt> 8801.1Schristos<dd>The Hydrographic and Oceanographic Service of the Chilean Navy publishes a 8811.11Schristos<a href="https://www.horaoficial.cl/historia_hora.php" hreflang="es">history of 8821.1SchristosChile's official time (in Spanish)</a>.</dd> 8831.3Schristos<dt>China</dt> 8841.3Schristos<dd>The Hong Kong Observatory maintains a 8851.7Schristos<a href="https://www.hko.gov.hk/en/gts/time/Summertime.htm">history of 8861.3Schristos summer time in Hong Kong</a>, 8871.3Schristosand Macau's Meteorological and Geophysical Bureau maintains a <a 8881.7Schristoshref="https://www.smg.gov.mo/en/subpage/224/page/174">similar 8891.3Schristoshistory for Macau</a>. 8901.3SchristosUnfortunately the latter is incomplete and has errors.</dd> 8911.1Schristos<dt>Czech Republic</dt> 8921.1Schristos<dd><a href="https://kalendar.beda.cz/kdy-zacina-a-konci-letni-cas" 8931.1Schristoshreflang="cs">When daylight saving time starts and ends (in Czech)</a> 8941.10Schristossummarizes and cites historical <abbr>DST</abbr> regulations.</dd> 8951.1Schristos<dt>Germany</dt> 8961.1Schristos<dd>The National Institute for Science and Technology maintains the <a 8971.1Schristoshref="https://www.ptb.de/cms/en/fachabteilungen/abt4/fb-44/ag-441/realisation-of-legal-time-in-germany.html">Realisation 8981.1Schristosof Legal Time in Germany</a>.</dd> 8991.1Schristos<dt>Israel</dt> 9001.1Schristos<dd>The Interior Ministry periodically issues <a 9011.1Schristoshref="ftp://ftp.cs.huji.ac.il/pub/tz/announcements" 9021.1Schristoshreflang="he">announcements (in Hebrew)</a>.</dd> 9031.2Schristos<dt>Malaysia</dt> 9041.2Schristos<dd>See Singapore <a href="#Singapore">below</a>.</dd> 9051.1Schristos<dt>Mexico</dt> 9061.1Schristos<dd>The Investigation and Analysis Service of the Mexican Library of 9071.1SchristosCongress has published a <a 9081.13Schristoshref="https://www.diputados.gob.mx/bibliot/publica/inveyana/polisoc/horver/index.htm" 9091.1Schristoshreflang="es">history of Mexican local time (in Spanish)</a>.</dd> 9101.1Schristos<dt>Netherlands</dt> 9111.16Schristos<dd><a href="https://webspace.science.uu.nl/~gent0113/wettijd/wettijd.htm" 9121.1Schristoshreflang="nl">Legal time in the Netherlands (in Dutch)</a> 9131.1Schristoscovers the history of local time in the Netherlands from ancient times.</dd> 9141.1Schristos<dt>New Zealand</dt> 9151.1Schristos<dd>The Department of Internal Affairs maintains a brief <a 9161.1Schristoshref="https://www.dia.govt.nz/Daylight-Saving-History">History of 9171.6SchristosDaylight Saving</a>.</dd> 9181.14Schristos<dt>Palestine</dt> 9191.14Schristos<dd>The Ministry of Telecom and IT publishes a <a 9201.16Schristoshref="https://mtit.pna.ps/home/TimeZone" 9211.14Schristoshreflang="ar">history of clock changes (in Arabic)</a>.</dd> 9221.10Schristos<dt>Portugal</dt> 9231.10Schristos<dd>The Lisbon Astronomical Observatory publishes a 9241.10Schristos<a href="https://oal.ul.pt/hora-legal/" hreflang="pt">history of 9251.10Schristoslegal time (in Portuguese)</a>.</dd> 9261.1Schristos<dt>Singapore</dt> 9271.1Schristos<dd><a id="Singapore" 9281.7Schristoshref="https://web.archive.org/web/20190822231045/http://www.math.nus.edu.sg/~mathelmr/teaching/timezone.html">Why 9291.1Schristosis Singapore in the "Wrong" Time Zone?</a> details the 9301.1Schristoshistory of legal time in Singapore and Malaysia.</dd> 9311.1Schristos<dt>United Kingdom</dt> 9321.1Schristos<dd><a 9331.1Schristoshref="https://www.polyomino.org.uk/british-time/">History of 9341.1Schristoslegal time in Britain</a> discusses in detail the country 9351.6Schristoswith perhaps the best-documented history of clock adjustments.</dd> 9361.1Schristos<dt>United States</dt> 9371.1Schristos<dd>The Department of Transportation's <a 9381.1Schristoshref="https://www.transportation.gov/regulations/recent-time-zone-proceedings">Recent 9391.1SchristosTime Zone Proceedings</a> lists changes to time zone boundaries.</dd> 9401.1Schristos<dt>Uruguay</dt> 9411.1Schristos<dd>The Oceanography, Hydrography, and Meteorology Service of the Uruguayan 9421.1SchristosNavy (SOHMA) publishes an annual <a 9431.13Schristoshref="https://sohma.armada.mil.uy/index.php/servicios/datos-astronomicos" hreflang="es">almanac 9441.1Schristos(in Spanish)</a>.</dd> 9451.1Schristos</dl> 9461.6Schristos</section> 9471.6Schristos 9481.6Schristos<section> 9491.7Schristos<h2 id="costs">Costs and benefits of time shifts</h2> 9501.7Schristos<p>Various sources argue for and against daylight saving time and time 9511.7Schristoszone shifts, and many scientific studies have been conducted. This 9521.8Schristossection summarizes reviews and position statements based on 9531.8Schristosscientific literature in the area.</p> 9541.7Schristos<ul> 9551.15Schristos<li>In 2022 the American Medical Association issued a 9561.15Schristos<a href="https://www.ama-assn.org/press-center/press-releases/ama-calls-permanent-standard-time">statement 9571.15Schristossupporting permanent standard time</a> on health grounds.</li> 9581.7Schristos<li>Carey RN, Sarma KM. 9591.7Schristos<a href="https://bmjopen.bmj.com/content/7/6/e014319.long">Impact of 9601.7Schristosdaylight saving time on road traffic collision risk: a systematic 9611.7Schristosreview</a>. 9621.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>. 9631.7SchristosThis reviews research literature and concludes that the evidence 9641.7Schristosneither supports nor refutes road safety benefits from 9651.7Schristosshifts in time zones.</li> 9661.7Schristos<li>Havranek T, Herman D, Irsova D. 9671.13Schristos<a href="https://www.iaee.org/en/publications/ejarticle.aspx?id=3051">Does 9681.16Schristosdaylight saving save electricity? A meta-analysis</a>. 9691.13Schristos<em>Energy J.</em> 2018;39(2):35–61. 9701.7Schristosdoi:<a href="https://doi.org/10.5547/01956574.39.2.thav">10.5547/01956574.39.2.thav</a>. 9711.7SchristosThis analyzes research literature and concludes, "Electricity savings 9721.7Schristosare larger for countries farther away from the equator, while 9731.10Schristossubtropical regions consume more electricity because of <abbr>DST</abbr>."</li> 9741.16Schristos<li>Malow BA. <a 9751.16Schristoshref="https://academic.oup.com/sleep/article/45/12/zsac236/6717940">It is time 9761.16Schristosto abolish the clock change and adopt permanent 9771.16Schristosstandard time in the United States: 9781.16Schristosa Sleep Research Society position statement</a>. 9791.15Schristos<em>Sleep.</em> 2022;45(12):zsac236. 9801.15Schristosdoi:<a href="https://doi.org/10.1093/sleep/zsac236">10.1093/sleep/zsac236</a>. 9811.15SchristosAfter reviewing the scientific literature, the Sleep Research Society 9821.15Schristosadvocates permanent standard time due to its health benefits. 9831.15Schristos<li>Rishi MA, Cheng JY, Strang AR <em>et al</em>. 9841.15Schristos<a href="https://jcsm.aasm.org/doi/10.5664/jcsm.10898">Permanent standard time 9851.15Schristosis the optimal choice for health and safety: 9861.8Schristosan American Academy of Sleep Medicine position statement</a>. 9871.16Schristos<em>J Clin Sleep Med.</em> 2024;20(1):121–125. 9881.15Schristosdoi:<a href="https://doi.org/10.5664/jcsm.10898">10.5664/jcsm.10898</a>. 9891.15SchristosThe AASM argues for permanent standard time due to health and safety risks 9901.15Schristosand economic costs of both <abbr>DST</abbr> transitions and 9911.15Schristospermanent <abbr>DST</abbr>.</li> 9921.13Schristos<li>Roenneberg T, Wirz-Justice A, Skene DJ <em>et al</em>. 9931.16Schristos<a href="https://journals.sagepub.com/doi/10.1177/0748730419854197">Why 9941.13Schristosshould we abolish Daylight Saving Time?</a> 9951.15Schristos<em>J Biol Rhythms.</em> 2019;34(3):227–230. 9961.13Schristosdoi:<a href="https://doi.org/10.1177/0748730419854197">10.1177/0748730419854197</a>. 9971.15SchristosThe Society for Research on Biological Rhythms 9981.13Schristosopposes DST changes and permanent DST, and advocates that governments adopt 9991.13Schristos"permanent Standard Time for the health and safety of their citizens".</li> 10001.7Schristos</ul> 10011.7Schristos</section> 10021.7Schristos 10031.7Schristos<section> 10041.1Schristos<h2 id="precision">Precision timekeeping</h2> 10051.1Schristos<ul> 10061.1Schristos<li><a 10071.1Schristoshref="http://leapsecond.com/hpan/an1289.pdf">The 10081.1SchristosScience of Timekeeping</a> is a thorough introduction 10091.1Schristosto the theory and practice of precision timekeeping.</li> 10101.1Schristos<li><a href="https://doi.org/10.1007/978-3-319-59909-0">The Science of 10111.14SchristosTime 2016</a> contains several freely readable papers.</li> 10121.13Schristos<li><a href="https://www.ntp.org"><abbr 10131.1Schristostitle="Network Time Protocol">NTP</abbr>: The Network 10141.1SchristosTime Protocol</a> (Internet <abbr>RFC</abbr> 5905) 10151.1Schristosdiscusses how to synchronize clocks of 10161.1SchristosInternet hosts.</li> 10171.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> 10181.2Schristosfamily of software algorithms can achieve accuracy to a few tens of 10191.2Schristosnanoseconds in scalable server farms without special hardware.</li> 10201.1Schristos<li>The <a 10211.1Schristoshref="https://www.nist.gov/intelligent-systems-division/ieee-1588">Precision 10221.1SchristosTime Protocol</a> (<abbr 10231.1Schristostitle="Institute of Electrical and Electronics Engineers">IEEE</abbr> 1588) 10241.2Schristoscan achieve submicrosecond clock accuracy on a local area network 10251.2Schristoswith special-purpose hardware.</li> 10261.1Schristos<li><a 10271.13Schristoshref="https://datatracker.ietf.org/doc/html/rfc4833">Timezone 10281.1SchristosOptions for <abbr title="Dynamic Host Configuration Protocol">DHCP</abbr></a> 10291.1Schristos(Internet <abbr>RFC</abbr> 4833) 10301.1Schristosspecifies a <a 10311.1Schristoshref="https://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol"><abbr>DHCP</abbr></a> 10321.1Schristosoption for a server to configure 10331.1Schristosa client's time zone and daylight saving settings automatically.</li> 10341.11Schristos<li><a href="https://www.ucolick.org/~sla/leapsecs/timescales.html">Time 10351.11SchristosScales</a> describes astronomical time scales like 10361.1Schristos<abbr title="Terrestrial Dynamic Time">TDT</abbr>, 10371.1Schristos<abbr title="Geocentric Coordinate Time">TCG</abbr>, and 10381.1Schristos<abbr title="Barycentric Dynamic Time">TDB</abbr>. 10391.1Schristos<li>The <a href="https://www.iau.org"><abbr 10401.1Schristostitle="International Astronomical Union">IAU</abbr></a>'s <a 10411.13Schristoshref="https://www.iausofa.org"><abbr 10421.1Schristostitle="Standards Of Fundamental Astronomy">SOFA</abbr></a> 10431.1Schristoscollection contains C and <a 10441.1Schristoshref="https://en.wikipedia.org/wiki/Fortran">Fortran</a> 10451.1Schristoscode for converting among time scales like 10461.1Schristos<abbr title="International Atomic Time">TAI</abbr>, 10471.1Schristos<abbr>TDB</abbr>, <abbr>TDT</abbr> and 10481.13Schristos<abbr>UTC</abbr>. It is freely available under the 10491.13Schristos<a href="https://www.iausofa.org/tandc.html">SOFA license</a>.</li> 10501.1Schristos<li><a 10511.1Schristoshref="https://www.giss.nasa.gov/tools/mars24/help/notes.html">Mars24 Sunclock 10521.1Schristos– Time on Mars</a> describes Airy Mean Time (<abbr>AMT</abbr>) and the 10531.1Schristosdiverse local time 10541.1Schristosscales used by each landed mission on Mars.</li> 10551.1Schristos<li><a href="http://leapsecond.com">LeapSecond.com</a> is 10561.1Schristosdedicated not only to leap seconds but to precise time and frequency 10571.1Schristosin general. It covers the state of the art in amateur timekeeping, and 10581.1Schristoshow the art has progressed over the past few decades.</li> 10591.7Schristos<li>The rules for leap seconds are specified in Annex 1 (Time scales) of <a 10601.7Schristoshref="https://www.itu.int/rec/R-REC-TF.460-6-200202-I/">Standard-frequency 10611.7Schristosand time-signal emissions</a>, International Telecommunication Union – 10621.7SchristosRadiocommunication Sector (ITU-R) Recommendation TF.460-6 (02/2002).</li> 10631.1Schristos<li><a 10641.1Schristoshref="https://www.iers.org/IERS/EN/Publications/Bulletins/bulletins.html"><abbr 10651.1Schristostitle="International Earth Rotation and Reference Systems Service">IERS</abbr> 10661.1SchristosBulletins</a> contains official publications of the International 10671.1SchristosEarth Rotation and Reference Systems Service, which decides when leap 10681.4Schristosseconds occur. The <code><abbr>tz</abbr></code> code and data support leap seconds 10691.9Schristosvia an optional "<code>right</code>" configuration where a computer's internal 10701.9Schristos<code>time_t</code> integer clock counts every <abbr>TAI</abbr> second, 10711.9Schristosas opposed to the default "<code>posix</code>" configuration 10721.9Schristoswhere the internal clock ignores leap seconds. 10731.9SchristosThe two configurations agree for timestamps starting with 1972-01-01 00:00:00 10741.9Schristos<abbr>UTC</abbr> (<code>time_t</code> 63 072 000) and diverge for 10751.9Schristostimestamps starting with <code>time_t</code> 78 796 800, 10761.9Schristoswhich corresponds to the first leap second 10771.9Schristos1972-06-30 23:59:60 <abbr>UTC</abbr> in the "<code>right</code>" configuration, 10781.9Schristosand to 10791.9Schristos1972-07-01 00:00:00 <abbr>UTC</abbr> in the "<code>posix</code>" configuration. 10801.9SchristosIn practice the two configurations also agree for timestamps before 10811.9Schristos1972 even though the historical situation is messy, partly because 10821.9Schristosneither <abbr>UTC</abbr> nor <abbr>TAI</abbr> 10831.14Schristosis well-defined for sufficiently old timestamps.</li> 10841.1Schristos<li><a href="https://developers.google.com/time/smear">Leap Smear</a> 10851.1Schristosdiscusses how to gradually adjust <abbr>POSIX</abbr> clocks near a 10861.1Schristosleap second so that they disagree with <abbr>UTC</abbr> by at most a 10871.1Schristoshalf second, even though every <abbr>POSIX</abbr> minute has exactly 10881.4Schristossixty seconds. This approach works with the default <code><abbr>tz</abbr></code> 10891.1Schristos"<code>posix</code>" configuration, is <a 10901.1Schristoshref="http://bk1.ntp.org/ntp-stable/README.leapsmear">supported</a> by 10911.12Schristosthe <abbr>NTP</abbr> reference implementation, <a 10921.12Schristoshref="https://github.com/google/unsmear">supports</a> conversion between 10931.12Schristos<abbr>UTC</abbr> and smeared <abbr>POSIX</abbr> timestamps, and is used by major 10941.7Schristoscloud service providers. However, according to 10951.13Schristos<a href="https://datatracker.ietf.org/doc/html/rfc8633#section-3.7.1">§3.7.1 of 10961.7SchristosNetwork Time Protocol Best Current Practices</a> 10971.7Schristos(Internet <abbr>RFC</abbr> 8633), leap smearing is not suitable for 10981.9Schristosapplications requiring accurate <abbr>UTC</abbr> or civil time, 10991.7Schristosand is intended for use only in single, well-controlled environments.</li> 11001.1Schristos<li>The <a 11011.1Schristoshref="https://pairlist6.pair.net/mailman/listinfo/leapsecs">Leap 11021.1SchristosSecond Discussion List</a> covers <a 11031.1Schristoshref="https://www2.unb.ca/gge/Resources/gpsworld.november99.pdf">McCarthy 11041.1Schristosand Klepczynski's 1999 proposal to discontinue leap seconds</a>, 11051.1Schristosdiscussed further in 11061.1Schristos<a href="https://www.cl.cam.ac.uk/~mgk25/time/metrologia-leapsecond.pdf">The 11071.1Schristosleap second: its history and possible future</a>. 11081.1Schristos<a href="https://www.ucolick.org/~sla/leapsecs/"><abbr>UTC</abbr> 11091.1Schristosmight be redefined 11101.1Schristoswithout Leap Seconds</a> gives pointers on this 11111.14Schristoscontentious issue. 11121.14SchristosThe General Conference on Weights and Measures 11131.16Schristos<a href="https://www.bipm.org/en/cgpm-2022/resolution-4">decided in 2022</a> 11141.14Schristosto discontinue the use of leap seconds by 2035, replacing them with an 11151.14Schristosas-yet-undetermined scheme some time after the year 2135. 11161.16SchristosThe World Radiocommunication Conference <a 11171.16Schristoshref="https://www.itu.int/dms_pub/itu-r/opb/act/R-ACT-WRC.15-2023-PDF-E.pdf">resolved 11181.16Schristosin 2023</a> to cooperate with this process. 11191.14Schristos</li> 11201.1Schristos</ul> 11211.6Schristos</section> 11221.6Schristos 11231.6Schristos<section> 11241.1Schristos<h2 id="notation">Time notation</h2> 11251.1Schristos<ul> 11261.13Schristos<li>The <a id="CLDR" href="https://cldr.unicode.org">Unicode Common Locale Data 11271.1SchristosRepository (<abbr>CLDR</abbr>) Project</a> has localizations for time 11281.1Schristoszone names, abbreviations, identifiers, and formats. For example, it 11291.1Schristoscontains French translations for "Eastern European Summer Time", 11301.1Schristos"<abbr title="Eastern European Summer Time">EEST</abbr>", and 11311.1Schristos"Bucharest". Its 11321.1Schristos<a href="https://unicode.org/cldr/charts/latest/by_type/">by-type 11331.1Schristoscharts</a> show these values for many locales. Data values are available in 11341.1Schristosboth <abbr title="Locale Data Markup Language">LDML</abbr> 11351.1Schristos(an <abbr>XML</abbr> format) and <abbr>JSON</abbr>. 11361.1Schristos<li> 11371.1Schristos<a href="https://www.cl.cam.ac.uk/~mgk25/iso-time.html">A summary of 11381.6Schristosthe international standard date and time notation</a> covers 11391.1Schristos<a 11401.6Schristoshref="https://www.iso.org/standard/70907.html"><em><abbr 11411.6Schristostitle="International Organization for Standardization">ISO</abbr> 11421.6Schristos8601-1:2019 – Date and time – Representations for information 11431.6Schristosinterchange – Part 1: Basic rules</em></a>.</li> 11441.1Schristos<li> 11451.6Schristos<a href="https://www.w3.org/TR/xmlschema/#dateTime"><abbr>XML</abbr> 11461.1SchristosSchema: Datatypes – dateTime</a> specifies a format inspired by 11471.1Schristos<abbr>ISO</abbr> 8601 that is in common use in <abbr>XML</abbr> data.</li> 11481.13Schristos<li><a href="https://datatracker.ietf.org/doc/html/rfc5322#section-3.3">§3.3 of 11491.1SchristosInternet Message Format</a> (Internet <abbr>RFC</abbr> 5322) 11501.1Schristosspecifies the time notation used in email and <a 11511.1Schristoshref="https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol"><abbr>HTTP</abbr></a> 11521.1Schristosheaders.</li> 11531.1Schristos<li> 11541.13Schristos<a href="https://datatracker.ietf.org/doc/html/rfc3339">Date and Time 11551.1Schristoson the Internet: Timestamps</a> (Internet <abbr>RFC</abbr> 3339) 11561.1Schristosspecifies an <abbr>ISO</abbr> 8601 11571.1Schristosprofile for use in new Internet 11581.1Schristosprotocols.</li> 11591.1Schristos<li> 11601.7Schristos<a href="https://web.archive.org/web/20190130042457/https://www.hackcraft.net/web/datetime/">Date & Time 11611.1SchristosFormats on the Web</a> surveys web- and Internet-oriented date and time 11621.1Schristosformats.</li> 11631.1Schristos<li>Alphabetic time zone abbreviations should not be used as unique 11641.1Schristosidentifiers for <abbr>UT</abbr> offsets as they are ambiguous in 11651.1Schristospractice. For example, in English-speaking North America 11661.1Schristos"<abbr>CST</abbr>" denotes 6 hours behind <abbr>UT</abbr>, 11671.1Schristosbut in China it denotes 8 hours ahead of <abbr>UT</abbr>, 11681.1Schristosand French-speaking North Americans prefer 11691.1Schristos"<abbr title="Heure Normale du Centre">HNC</abbr>" to 11701.1Schristos"<abbr>CST</abbr>". The <code><abbr>tz</abbr></code> 11711.2Schristosdatabase contains English abbreviations for many timestamps; 11721.1Schristosunfortunately some of these abbreviations were merely the database maintainers' 11731.1Schristosinventions, and these have been removed when possible.</li> 11741.1Schristos<li>Numeric time zone abbreviations typically count hours east of 11751.1Schristos<abbr>UT</abbr>, e.g., +09 for Japan and 11761.1Schristos−10 for Hawaii. However, the <abbr>POSIX</abbr> 11771.1Schristos<code><abbr>TZ</abbr></code> environment variable uses the opposite convention. 11781.1SchristosFor example, one might use <code><abbr>TZ</abbr>="<abbr 11791.1Schristostitle="Japan Standard Time">JST</abbr>-9"</code> and 11801.1Schristos<code><abbr>TZ</abbr>="<abbr title="Hawaii Standard Time">HST</abbr>10"</code> 11811.1Schristosfor Japan and Hawaii, respectively. If the 11821.1Schristos<code><abbr>tz</abbr></code> database is available, it is usually better to use 11831.1Schristossettings like <code><abbr>TZ</abbr>="Asia/Tokyo"</code> and 11841.1Schristos<code><abbr>TZ</abbr>="Pacific/Honolulu"</code> instead, as this should avoid 11851.2Schristosconfusion, handle old timestamps better, and insulate you better from 11861.1Schristosany future changes to the rules. One should never set 11871.1Schristos<abbr>POSIX</abbr> <code><abbr>TZ</abbr></code> to a value like 11881.1Schristos<code>"GMT-9"</code>, though, since this would incorrectly imply that 11891.1Schristoslocal time is nine hours ahead of <abbr>UT</abbr> and the time zone 11901.1Schristosis called "<abbr>GMT</abbr>".</li> 11911.1Schristos</ul> 11921.6Schristos</section> 11931.6Schristos 11941.6Schristos<section> 11951.1Schristos<h2 id="see-also">See also</h2> 11961.1Schristos<ul> 11971.7Schristos<li><a href="theory.html">Theory and pragmatics of the 11981.7Schristos<code><abbr>tz</abbr></code> code and data</a></li> 11991.1Schristos<li><a href="tz-art.html">Time and the Arts</a></li> 12001.1Schristos</ul> 12011.6Schristos</section> 12021.6Schristos 12031.6Schristos<footer> 12041.1Schristos<hr> 12051.1SchristosThis web page is in the public domain, so clarified as of 12061.1Schristos2009-05-17 by Arthur David Olson. 12071.1Schristos<br> 12081.1SchristosPlease send corrections to this web page to the 12091.1Schristos<a href="mailto:tz@iana.org">time zone mailing list</a>. 12101.6Schristos</footer> 12111.1Schristos</body> 12121.1Schristos</html> 1213