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.20Schristos<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.17Schristos<a href="https://www.chromium.org/chromium-os/">ChromiumOS</a>, 851.1Schristos<a href="https://cygwin.com">Cygwin</a>, 861.7Schristos<a href="https://mariadb.org">MariaDB</a>, 871.17Schristos<a href="https://musl.libc.org">musl libc</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.20Schristos<a href="https://www.oracle.com/database/">Oracle Database</a>, 1001.20Schristos<a href="https://www.oracle.com/solaris">Oracle Solaris</a>, 1011.20Schristosand <a href="https://blackberry.qnx.com/en">QNX</a>.</p> 1021.1Schristos<p> 1031.2SchristosEach main entry in the database represents a <dfn>timezone</dfn> 1041.2Schristosfor a set of civil-time clocks that have all agreed since 1970. 1051.2SchristosTimezones are typically identified by continent or ocean and then by the 1061.2Schristosname of the largest city within the region containing the clocks. 1071.1SchristosFor example, <code>America/New_York</code> 1081.1Schristosrepresents most of the <abbr title="United States">US</abbr> eastern time zone; 1091.1Schristos<code>America/Phoenix</code> represents most of Arizona, which 1101.2Schristosuses mountain time without daylight saving time (<abbr>DST</abbr>); 1111.1Schristos<code>America/Detroit</code> represents most of Michigan, which uses 1121.1Schristoseastern time but with different <abbr>DST</abbr> rules in 1975; 1131.1Schristosand other entries represent smaller regions like Starke County, 1141.1SchristosIndiana, which switched from central to eastern time in 1991 1151.1Schristosand switched back in 2006. 1161.17SchristosTo use the database on a <a 1171.1Schristoshref="https://en.wikipedia.org/wiki/POSIX"><abbr 1181.17Schristostitle="Portable Operating System Interface">POSIX</abbr>.1-2024</a> 1191.1Schristosimplementation set the <code><abbr>TZ</abbr></code> 1201.20Schristosenvironment variable to the location’s full name, 1211.1Schristose.g., <code><abbr>TZ</abbr>="America/New_York"</code>.</p> 1221.1Schristos<p> 1231.2SchristosAssociated with each timezone is a history of offsets from 1241.1Schristos<a href="https://en.wikipedia.org/wiki/Universal_Time">Universal 1251.1SchristosTime</a> (<abbr>UT</abbr>), which is <a 1261.1Schristoshref="https://en.wikipedia.org/wiki/Greenwich_Mean_Time">Greenwich Mean 1271.1SchristosTime</a> (<abbr>GMT</abbr>) with days beginning at midnight; 1281.2Schristosfor timestamps after 1960 this is more precisely <a 1291.1Schristoshref="https://en.wikipedia.org/wiki/Coordinated_Universal_Time">Coordinated 1301.1SchristosUniversal Time</a> (<abbr>UTC</abbr>). 1311.1SchristosThe database also records when daylight saving time was in use, 1321.1Schristosalong with some time zone abbreviations such as <abbr>EST</abbr> 1331.1Schristosfor Eastern Standard Time in the <abbr>US</abbr>.</p> 1341.6Schristos</section> 1351.6Schristos 1361.6Schristos<section> 1371.1Schristos<h2 id="download">Downloading the <code><abbr>tz</abbr></code> database</h2> 1381.1Schristos<p> 1391.1SchristosThe following <a 1401.1Schristoshref="https://en.wikipedia.org/wiki/Unix_shell">shell</a> commands download 1411.20Schristosthe latest release’s two 1421.1Schristos<a href="https://en.wikipedia.org/wiki/Tar_(computing)">tarballs</a> 1431.1Schristosto a <abbr>GNU</abbr>/Linux or similar host.</p> 1441.2Schristos<pre><code>mkdir tzdb 1451.1Schristoscd tzdb 1461.1Schristos<a href="https://www.gnu.org/software/wget/">wget</a> https://www.iana.org/time-zones/repository/tzcode-latest.tar.gz 1471.1Schristoswget https://www.iana.org/time-zones/repository/tzdata-latest.tar.gz 1481.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 - 1491.1Schristosgzip -dc tzdata-latest.tar.gz | tar -xf - 1501.1Schristos</code></pre> 1511.1Schristos<p>Alternatively, the following shell commands download the same 1521.1Schristosrelease in a single-tarball format containing extra data 1531.1Schristosuseful for regression testing:</p> 1541.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> 1551.1Schristos<a href="https://www.nongnu.org/lzip/">lzip</a> -dc tzdb-latest.tar.lz | tar -xf - 1561.1Schristos</code></pre> 1571.1Schristos<p>These commands use convenience links to the latest release 1581.1Schristosof the <code><abbr>tz</abbr></code> database hosted by the 1591.1Schristos<a href="https://www.iana.org/time-zones">Time Zone Database website</a> 1601.1Schristosof the <a href="https://www.iana.org">Internet Assigned Numbers 1611.1SchristosAuthority (IANA)</a>. 1621.1SchristosOlder releases are in files named 1631.1Schristos<code>tzcode<var>V</var>.tar.gz</code>, 1641.1Schristos<code>tzdata<var>V</var>.tar.gz</code>, and 1651.1Schristos<code>tzdb-<var>V</var>.tar.lz</code>, 1661.1Schristoswhere <code><var>V</var></code> is the version. 1671.1SchristosSince 1996, each version has been a four-digit year followed by 1681.1Schristoslower-case letter (<samp>a</samp> through <samp>z</samp>, 1691.1Schristosthen <samp>za</samp> through <samp>zz</samp>, then <samp>zza</samp> 1701.1Schristosthrough <samp>zzz</samp>, and so on). 1711.13SchristosSince version 2022a, each release has been distributed in 1721.20Schristos<a href="https://pubs.opengroup.org/onlinepubs/9799919799/utilities/pax.html#tag_20_94_13_06">POSIX 1731.10Schristosustar interchange format</a>, compressed as described above; 1741.14Schristosolder releases use a nearly compatible format. 1751.1SchristosSince version 2016h, each release has contained a text file named 1761.20Schristos“<code>version</code>” whose first (and currently only) line is the version. 1771.20Schristos<a href="https://ftp.iana.org/tz/releases/">Older archived releases are 1781.20Schristosavailable</a> via 1791.20Schristos<a href="https://en.wikipedia.org/wiki/HTTPS"><abbr 1801.20Schristostitle="Hypertext Transfer Protocol Secure">HTTPS</abbr></a>, 1811.20Schristos<a href="https://en.wikipedia.org/wiki/Rsync"><abbr 1821.20Schristostitle="remote sync">rsync</abbr></a>, and 1831.20Schristos<a href="https://en.wikipedia.org/wiki/FTP"><abbr 1841.20Schristostitle="File Transfer Protocol">FTP</abbr></a>. 1851.20Schristos<p>Alternatively, a development repository of code and data can bem 1861.1Schristosretrieved from <a href="https://github.com">GitHub</a> via the shell 1871.1Schristoscommand:</p> 1881.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> 1891.1Schristos</code></pre> 1901.1Schristos<p> 1911.1SchristosSince version 2012e, each release has been tagged in development repositories. 1921.1SchristosUntagged commits are less well tested and probably contain 1931.1Schristosmore errors.</p> 1941.1Schristos<p> 1951.1SchristosAfter obtaining the code and data files, see the 1961.1Schristos<code>README</code> file for what to do next. 1971.1SchristosThe code lets you compile the <code><abbr>tz</abbr></code> source files into 1981.2Schristosmachine-readable binary files, one for each location. The binary files 1991.17Schristosare in a special format specified by 2001.20Schristos<a href="https://www.rfc-editor.org/rfc/rfc9636">The 2011.17SchristosTime Zone Information Format (<abbr>TZif</abbr>)</a> 2021.18Schristos(Internet <abbr title="Request For Comments">RFC</abbr> 9636). 2031.2SchristosThe code also lets 2041.2Schristosyou read a <abbr>TZif</abbr> file and interpret timestamps for that 2051.1Schristoslocation.</p> 2061.6Schristos</section> 2071.6Schristos 2081.6Schristos<section> 2091.1Schristos<h2 id="changes">Changes to the <code><abbr>tz</abbr></code> database</h2> 2101.1Schristos<p> 2111.1SchristosThe <code><abbr>tz</abbr></code> code and data 2121.1Schristosare by no means authoritative. If you find errors, please 2131.17Schristosemail changes to <a href="mailto:tz@iana.org"><code>tz@iana.org</code></a>, 2141.20Schristosthe time zone mailing list. 2151.20SchristosThe mailing list and its archives are public, 2161.20Schristosso please do not send confidential information. 2171.20SchristosSee 2181.17Schristos<a href="https://lists.iana.org/postorius/lists/tz.iana.org/">the mailing 2191.20Schristoslist’s main page</a> to subscribe or to browse its archive of old messages. 2201.17Schristos<a href="https://tzdata-meta.timtimeonline.com">Metadata for mailing list 2211.5Schristosdiscussions</a> and corresponding data changes can be 2221.5Schristosgenerated <a href="https://github.com/timparenti/tzdata-meta">automatically</a>. 2231.5Schristos</p> 2241.1Schristos<p> 2251.1SchristosChanges to the <code><abbr>tz</abbr></code> code and data are often 2261.1Schristospropagated to clients via operating system updates, so 2271.1Schristosclient <code><abbr>tz</abbr></code> data can often be corrected by 2281.1Schristosapplying these updates. With GNU/Linux and similar systems, if your 2291.1Schristosmaintenance provider has not yet adopted the 2301.1Schristoslatest <code><abbr>tz</abbr></code> data, you can often short-circuit 2311.1Schristosthe process by tailoring the generic instructions in 2321.1Schristosthe <code><abbr>tz</abbr> README</code> file and installing the latest 2331.1Schristosdata yourself. System-specific instructions for installing the 2341.1Schristoslatest <code><abbr>tz</abbr></code> data have also been published 2351.17Schristosfor <a href="https://www.ibm.com/support/pages/aix-time-zone-olson-tzdata-updates"><abbr>AIX</abbr></a>, 2361.1Schristos<a 2371.10Schristoshref="https://source.android.com/devices/tech/config/timezone-rules">Android</a>, 2381.1Schristos<a 2391.11Schristoshref="https://unicode-org.github.io/icu/userguide/datetime/timezone/"><abbr 2401.1Schristostitle="International Components for Unicode">ICU</abbr></a>, 2411.11Schristos<a href="https://www.ibm.com/support/pages/java-sdk-time-zone-update-utility"><abbr>IBM</abbr> 2421.9SchristosJDK</a>, 2431.9Schristos<a href="https://www.joda.org/joda-time/tz_update.html">Joda-Time</a>, <a 2441.1Schristoshref="https://dev.mysql.com/doc/refman/en/time-zone-support.html">MySQL</a>, 2451.9Schristos<a href="https://nodatime.org/userguide/tzdb">Noda Time</a>, and <a 2461.11Schristoshref="https://www.oracle.com/java/technologies/javase/tzupdater-readme.html">OpenJDK/Oracle JDK</a>. 2471.1Schristos</p> 2481.12Schristos<p>Since version 2013a, 2491.12Schristossources for the <code><abbr>tz</abbr></code> database have been 2501.1Schristos<a href="https://en.wikipedia.org/wiki/UTF-8"><abbr 2511.1Schristostitle="Unicode Transformation Format 8-bit">UTF-8</abbr></a> 2521.1Schristos<a href="https://en.wikipedia.org/wiki/Text_file">text files</a> 2531.1Schristoswith lines terminated by <a href="https://en.wikipedia.org/wiki/Newline"><abbr 2541.1Schristostitle="linefeed">LF</abbr></a>, 2551.1Schristoswhich can be modified by common text editors such 2561.1Schristosas <a href="https://www.gnu.org/software/emacs/">GNU Emacs</a>, 2571.20Schristos<a href="https://gedit-text-editor.org">gedit</a>, and 2581.1Schristos<a href="https://www.vim.org">vim</a>. 2591.1SchristosSpecialized source-file editing can be done via the 2601.1Schristos<a href="https://packagecontrol.io/packages/zoneinfo">Sublime 2611.1Schristoszoneinfo</a> package for <a 2621.1Schristoshref="https://www.sublimetext.com">Sublime Text</a> and the <a 2631.1Schristoshref="https://marketplace.visualstudio.com/items?itemName=gilmoreorless.vscode-zoneinfo">VSCode 2641.1Schristoszoneinfo</a> extension for <a href="https://code.visualstudio.com">Visual 2651.1SchristosStudio Code</a>. 2661.1Schristos</p> 2671.1Schristos<p> 2681.1SchristosFor further information about updates, please see 2691.18Schristos<a href="https://www.rfc-editor.org/rfc/rfc6557">Procedures for 2701.17SchristosMaintaining the Time Zone Database</a> (Internet <abbr>RFC</abbr> 6557). 2711.17SchristosMore detail can be 2721.7Schristosfound in <a href="theory.html">Theory and pragmatics of the 2731.7Schristos<code><abbr>tz</abbr></code> code and data</a>. 2741.2Schristos<a href="https://a0.github.io/a0-tzmigration/">A0 TimeZone Migration</a> 2751.2Schristosdisplays changes between recent <code><abbr>tzdb</abbr></code> versions. 2761.1Schristos</p> 2771.6Schristos</section> 2781.6Schristos 2791.6Schristos<section> 2801.14Schristos<h2 id="coordinating">Coordinating with governments and distributors</h2> 2811.14Schristos<p> 2821.14SchristosAs discussed in 2831.20Schristos“<a href="https://www.icann.org/en/blogs/details/how-time-zones-are-coordinated-13-03-2023-en">How 2841.20SchristosTime Zones Are Coordinated</a>”, the time zone database relies on 2851.14Schristoscollaboration among governments, the time zone database volunteer 2861.14Schristoscommunity, and data distributors downstream. 2871.14Schristos<p> 2881.14SchristosIf your government plans to change its time zone boundaries or 2891.20Schristosdaylight saving rules, please send email as described in 2901.20Schristos"<a href="#changes">Changes to the <code><abbr>tz</abbr></code> database</a>". 2911.20SchristosDo this well in advance, 2921.14Schristosas this will lessen confusion and will coordinate updates to many cell phones, 2931.14Schristoscomputers, and other devices around the world. 2941.14SchristosIn your email, please cite the legislation or regulation that specifies 2951.14Schristosthe change, so that it can be checked for details such as the exact times 2961.14Schristoswhen clock transitions occur. 2971.14SchristosIt is OK if a rule change is planned to affect clocks 2981.14Schristosfar into the future, as a long-planned change can easily be reverted 2991.20Schristosor otherwise altered with a year’s notice before the change would have 3001.14Schristosaffected clocks.</p> 3011.14Schristos<p> 3021.14SchristosThere is no fixed schedule for <code><abbr>tzdb</abbr></code> releases. 3031.14SchristosHowever, typically a release occurs every few months. 3041.14SchristosMany downstream timezone data distributors wait for 3051.14Schristosa <code><abbr>tzdb</abbr></code> release before they produce an update 3061.14Schristosto time zone behavior in consumer devices and software products. 3071.14SchristosAfter a release, various parties must integrate, test, 3081.14Schristosand roll out an update before <a 3091.14Schristoshref="https://en.wikipedia.org/wiki/End_user">end users</a> see changes. 3101.14SchristosThese updates can be expensive, for both the <a 3111.14Schristoshref="https://en.wikipedia.org/wiki/Quality_assurance">quality 3121.14Schristosassurance</a> process and the overall cost of shipping and installing 3131.20Schristosupdates to each device’s copy of <code><abbr>tzdb</abbr></code>. 3141.14SchristosUpdates may be batched with other updates and may take substantial 3151.14Schristostime to reach end users after a release. 3161.14SchristosOlder devices may no longer be supported and thus may never be updated, 3171.14Schristoswhich means they will continue to use out-of-date rules.</p> 3181.14Schristos<p> 3191.14SchristosFor these reasons any rule change should be promulgated at least a 3201.14Schristosyear before it affects how clocks operate; otherwise, there is a good 3211.14Schristoschance that many clocks will be wrong due to delays in propagating updates, 3221.14Schristosand that residents will be confused or even actively resist the change. 3231.20SchristosThe shorter the notice, the more likely clock problems will arise; see “<a 3241.14Schristoshref="https://codeofmatt.com/2016/04/23/on-the-timing-of-time-zone-changes/">On 3251.20Schristosthe Timing of Time Zone Changes</a>” for examples. 3261.14Schristos</p> 3271.14Schristos</section> 3281.14Schristos 3291.14Schristos<section> 3301.1Schristos<h2 id="commentary">Commentary on the <code><abbr>tz</abbr></code> database</h2> 3311.1Schristos<ul> 3321.1Schristos<li>The article 3331.1Schristos<a href="https://en.wikipedia.org/wiki/Tz_database">tz database</a> is 3341.1Schristosan encyclopedic summary.</li> 3351.1Schristos<li><a href="tz-how-to.html">How to Read the 3361.1Schristostz Database Source Files</a> explains the <code><abbr>tz</abbr></code> 3371.1Schristosdatabase format.</li> 3381.1Schristos<li><a 3391.1Schristoshref="https://blog.jonudell.net/2009/10/23/a-literary-appreciation-of-the-olsonzoneinfotz-database/">A 3401.1Schristosliterary appreciation of the Olson/Zoneinfo/tz database</a> comments on the 3411.20Schristosdatabase’s style.</li> 3421.10Schristos<li><a href="https://doi.org/10.1145/3340301.3341125">What time is it: 3431.10Schristosmanaging time in the internet</a> analyzes the database longitudinally.</li> 3441.1Schristos</ul> 3451.6Schristos</section> 3461.6Schristos 3471.6Schristos<section> 3481.1Schristos<h2 id="web">Web sites using recent versions of the 3491.1Schristos<code><abbr>tz</abbr></code> database</h2> 3501.1Schristos<p> 3511.1SchristosThese are listed roughly in ascending order of complexity and fanciness. 3521.1Schristos</p> 3531.1Schristos<ul> 3541.20Schristos<li><a href="https://time.is">Time.is</a> shows locations’ 3551.1Schristostime and zones.</li> 3561.1Schristos<li><a href="https://www.timejones.com">TimeJones.com</a>, 3571.1Schristos<a href="https://timezoneconverterapp.com">Time Zone Converter</a> and 3581.7Schristos<a href="https://www.worldclock.com">The World Clock</a> 3591.1Schristosare time zone converters.</li> 3601.8Schristos<li><a href="https://timezonedb.com/download">TimeZoneDB Database</a> 3611.8Schristospublishes <code><abbr>tzdb</abbr></code>-derived data in 3621.8Schristos<a href="https://en.wikipedia.org/wiki/Comma-separated_values"><abbr 3631.8Schristostitle="comma-separated values">CSV</abbr></a> and 3641.8Schristosin <a href="https://en.wikipedia.org/wiki/SQL"><abbr 3651.8Schristostitle="Structured Query Language">SQL</abbr></a> form.</li> 3661.1Schristos<li><a 3671.6Schristoshref="https://twiki.org/cgi-bin/xtra/tzdatepick.html">Date and Time Gateway</a> 3681.1Schristoslets you see the <code><abbr>TZ</abbr></code> values directly.</li> 3691.1Schristos<li><a 3701.13Schristoshref="https://www.convertit.com/Go/ConvertIt/World_Time/Current_Time.ASP">Current 3711.1SchristosTime in 1000 Places</a> uses descriptions of the values.</li> 3721.20Schristos<li><a href="https://www.timeanddate.com/worldclock/">The World Clock – 3731.1SchristosWorldwide</a> lets you sort zone names and convert times.</li> 3741.1Schristos<li><a href="https://24timezones.com">24TimeZones</a> has a world 3751.1Schristostime map and a time converter.</li> 3761.1Schristos<li><a href="https://www.zeitverschiebung.net/en/">Time Difference</a> 3771.1Schristoscalculates the current time difference between locations.</li> 3781.13Schristos<li><a href="https://www.wx-now.com">Weather Now</a> and 3791.13Schristos<a href="https://www.thetimenow.com">The Time Now</a> list the weather too.</li> 3801.1Schristos</ul> 3811.6Schristos</section> 3821.6Schristos 3831.6Schristos<section> 3841.1Schristos<h2 id="protocols">Network protocols for <code><abbr>tz</abbr></code> data</h2> 3851.1Schristos<ul> 3861.20Schristos<li><a href="https://www.rfc-editor.org/rfc/rfc7808">Time Zone 3871.20SchristosData Distribution Service</a> (TZDIST, Internet <abbr>RFC</abbr> 7808) 3881.20Schristosis associated with 3891.20Schristos<a href="https://www.rfc-editor.org/rfc/rfc7809">CalDAV</a> 3901.1Schristos(Internet <abbr>RFC</abbr> 7809), a calendar access protocol for 3911.2Schristostransferring time zone data by reference. 3921.8Schristos<a href="https://devguide.calconnect.org/Time-Zones/TZDS/">TZDIST 3931.20Schristosimplementations</a> are available.</li> 3941.20Schristos<li>The <a href="https://www.rfc-editor.org/rfc/rfc5545">iCalendar format</a> 3951.20Schristos(Internet <abbr>RFC</abbr> 5445) 3961.1Schristoscovers time zone 3971.1Schristosdata; see its VTIMEZONE calendar component. 3981.1SchristosThe iCalendar format requires specialized parsers and generators; a 3991.18Schristosvariant <a href="https://www.rfc-editor.org/rfc/rfc6321">xCal</a> 4001.1Schristos(Internet <abbr>RFC</abbr> 6321) uses 4011.1Schristos<a href="https://www.w3.org/XML/"><abbr 4021.1Schristostitle="Extensible Markup Language">XML</abbr></a> format, and a variant 4031.18Schristos<a href="https://www.rfc-editor.org/rfc/rfc7265">jCal</a> 4041.1Schristos(Internet <abbr>RFC</abbr> 7265) 4051.17Schristosuses <a href="https://www.json.org/json-en.html"><abbr 4061.1Schristostitle="JavaScript Object Notation">JSON</abbr></a> format.</li> 4071.1Schristos</ul> 4081.6Schristos</section> 4091.6Schristos 4101.6Schristos<section> 4111.1Schristos<h2 id="compilers">Other <code><abbr>tz</abbr></code> compilers</h2> 4121.7Schristos<p>Although some of these do not fully support 4131.7Schristos<code><abbr>tz</abbr></code> data, in recent <code><abbr>tzdb</abbr></code> 4141.7Schristosdistributions you can generally work around compatibility problems by 4151.7Schristosrunning the command <code>make rearguard_tarballs</code> and compiling 4161.7Schristosfrom the resulting tarballs instead.</p> 4171.1Schristos<ul> 4181.17Schristos<li><a href="https://github.com/libical/vzic">Vzic</a> is a <a 4191.14Schristoshref="https://en.wikipedia.org/wiki/C_(programming_language)">C</a> 4201.1Schristosprogram that compiles 4211.1Schristos<code><abbr>tz</abbr></code> source into iCalendar-compatible VTIMEZONE files. 4221.1SchristosVzic is freely 4231.1Schristosavailable under the <a 4241.1Schristoshref="https://www.gnu.org/copyleft/gpl.html"><abbr>GNU</abbr> 4251.1SchristosGeneral Public License (<abbr 4261.1Schristostitle="General Public License">GPL</abbr>)</a>.</li> 4271.1Schristos<li><a 4281.4Schristoshref="https://metacpan.org/release/DateTime-TimeZone">DateTime::TimeZone</a> 4291.1Schristoscontains a script <code>parse_olson</code> that compiles 4301.1Schristos<code><abbr>tz</abbr></code> source into <a href="https://www.perl.org">Perl</a> 4311.1Schristosmodules. It is part of the Perl <a 4321.4Schristoshref="https://github.com/houseabsolute/DateTime.pm/wiki">DateTime Project</a>, 4331.4Schristoswhich is freely 4341.1Schristosavailable under both the <abbr>GPL</abbr> and the Perl Artistic 4351.1SchristosLicense. DateTime::TimeZone also contains a script 4361.1Schristos<code>tests_from_zdump</code> that generates test cases for each clock 4371.1Schristostransition in the <code><abbr>tz</abbr></code> database.</li> 4381.1Schristos<li>The <a href="https://howardhinnant.github.io/date/tz.html">Time Zone 4391.1SchristosDatabase Parser</a> is a 4401.14Schristos<a href="https://en.wikipedia.org/wiki/C++">C++</a> parser and 4411.17Schristosruntime library with a <a 4421.17Schristoshref="https://en.cppreference.com/w/cpp/chrono"><code>std::chrono</code> API</a> 4431.17Schristosthat is a standard part of C++. 4441.1SchristosIt is freely available under the 4451.1Schristos<abbr title="Massachusetts Institute of Technology">MIT</abbr> license.</li> 4461.13Schristos<li><a id="ICU" href="https://icu.unicode.org">International Components for 4471.1SchristosUnicode (<abbr>ICU</abbr>)</a> contains C/C++ and <a 4481.14Schristoshref="https://en.wikipedia.org/wiki/Java_(programming_language)">Java</a> 4491.1Schristoslibraries for internationalization that 4501.1Schristoshas a compiler from <code><abbr>tz</abbr></code> source 4511.1Schristosand from <abbr title="Common Locale Data Repository">CLDR</abbr> data 4521.1Schristos(mentioned <a href="#CLDR">below</a>) 4531.1Schristosinto an <abbr>ICU</abbr>-specific format. 4541.1Schristos<abbr>ICU</abbr> is freely available under a 4551.1Schristos<abbr>BSD</abbr>-style license.</li> 4561.1Schristos<li>The <a href="https://github.com/lau/tzdata">Tzdata</a> package for 4571.1Schristosthe <a href="https://elixir-lang.org">Elixir</a> language downloads 4581.7Schristosand compiles <code><abbr>tz</abbr></code> source and exposes <abbr 4591.1Schristostitle="Application Program Interface">API</abbr>s for use. It is 4601.1Schristosfreely available under the <abbr>MIT</abbr> license.</li> 4611.1Schristos<li>Java-based compilers and libraries include: 4621.1Schristos<ul> 4631.1Schristos<li>The <a 4641.9Schristoshref="https://www.oracle.com/java/technologies/javase/tzupdater-readme.html">TZUpdater 4651.1Schristostool</a> compiles <code><abbr>tz</abbr></code> source into the format used by 4661.17Schristos<a href="https://openjdk.org">OpenJDK</a> and 4671.17Schristos<a href="https://jdk.java.net">Oracle JDK</a>. 4681.9SchristosAlthough its source code is proprietary, its executable is available under the 4691.9Schristos<a href="https://www.oracle.com/a/tech/docs/tzupdater-lic.html">Java SE 4701.9SchristosTimezone Updater License Agreement</a>.</li> 4711.1Schristos<li>The <a 4721.4Schristoshref="https://www.oracle.com/technetwork/articles/java/jf14-date-time-2125367.html">Java 4731.6SchristosSE 8 Date and Time</a> <abbr>API</abbr> can be supplemented by <a 4741.4Schristoshref="https://www.threeten.org/threeten-extra/">ThreeTen-Extra</a>, 4751.1Schristoswhich is freely available under a <abbr>BSD</abbr>-style license.</li> 4761.20Schristos<li><a href="https://www.joda.org/joda-time/">Joda-Time – Java date 4771.1Schristosand time <abbr>API</abbr></a> contains a class 4781.1Schristos<code>org.joda.time.tz.ZoneInfoCompiler</code> that compiles 4791.1Schristos<code><abbr>tz</abbr></code> source into a binary format. It inspired 4801.1SchristosJava 8 <code>java.time</code>, which its users should migrate to once 4811.1Schristosthey can assume Java 8 or later. It is available under the <a 4821.1Schristoshref="https://www.apache.org/licenses/LICENSE-2.0">Apache License</a>.</li> 4831.9Schristos<li><a href="https://bell-sw.com/pages/iana-updater/">IANA Updater</a> and <a 4841.7Schristoshref="https://www.azul.com/products/open-source-tools/ziupdater-time-zone-tool/">ZIUpdater</a> 4851.20Schristosare alternatives to TZUpdater. IANA Updater’s license is unclear; 4861.9SchristosZIUpdater is licensed under the <abbr>GPL</abbr>.</li> 4871.4Schristos<li><a href="https://github.com/MenoData/Time4A">Time4A: Advanced date and 4881.4Schristostime library for Android</a> and 4891.17Schristos<a href="https://github.com/MenoData/Time4J">Time4J: Advanced date, 4901.4Schristostime and interval library for Java</a> compile 4911.4Schristos<code><abbr>tz</abbr></code> source into a binary format. 4921.4SchristosTime4A is available under the Apache License and Time4J is 4931.1Schristosavailable under the <a 4941.1Schristoshref="https://www.gnu.org/copyleft/lesser.html"><abbr>GNU</abbr> Lesser 4951.1SchristosGeneral Public License (<abbr title="Lesser General Public 4961.1SchristosLicense">LGPL</abbr>)</a>.</li> 4971.1Schristos<li><abbr>ICU</abbr> (mentioned <a href="#ICU">above</a>) contains compilers and 4981.1SchristosJava-based libraries.</li> 4991.1Schristos</ul> 5001.20Schristos<li><a href="https://nodatime.org">Noda Time – Date and 5011.1Schristostime <abbr>API</abbr> for .NET</a> 5021.4Schristosis like Joda-Time and Time4J, but for the .NET framework instead of Java. 5031.4SchristosIt is freely available under the Apache License.</li> 5041.8Schristos<li>Many modern 5051.8Schristos<a href="https://en.wikipedia.org/wiki/JavaScript">JavaScript</a> 5061.8Schristosruntimes support <code><abbr>tz</abbr></code> natively via the 5071.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>. 5081.10SchristosThis can be used as-is or with most of the following libraries, 5091.16Schristosmany of which also support runtimes lacking the <code>timeZone</code> option. 5101.1Schristos<ul> 5111.8Schristos<li>The <a 5121.16Schristoshref="https://github.com/formatjs/date-time-format-timezone"><code>Intl.DateTimeFormat</code> 5131.8Schristostimezone polyfill</a> 5141.8Schristosis freely available under a <abbr>BSD</abbr>-style license.</li> 5151.17Schristos<li>The <a href="https://date-fns.org">date-fns</a> 5161.10Schristoslibrary manipulates timezone-aware timestamps in browsers and 5171.10Schristosin <a href="https://nodejs.org/en/">Node.js</a>. 5181.10SchristosIt is freely available under the <abbr>MIT</abbr> license.</li> 5191.10Schristos<li><a href="https://github.com/iamkun/dayjs">Day.js</a> is a 5201.10Schristosminimalist replacement for the date and time API of 5211.10Schristosthe <a href="https://momentjs.com/docs/">now-legacy Moment.js</a> date 5221.10Schristosmanipulation library. 5231.10SchristosIt is freely available under the <abbr>MIT</abbr> license.</li> 5241.10Schristos<li><a href="https://moment.github.io/luxon/">Luxon</a> improves 5251.16Schristostimezone support for the <code>Intl</code> API. 5261.10SchristosIt is freely available under the <abbr>MIT</abbr> license.</li> 5271.1Schristos<li><a href="https://momentjs.com/timezone/">Moment Timezone</a> is a 5281.10SchristosMoment.js plugin. 5291.10SchristosIt is freely available under the <abbr>MIT</abbr> license.</li> 5301.8Schristos<li><a href="https://github.com/bigeasy/timezone">Timezone</a> is a 5311.8SchristosJavaScript library that supports date arithmetic that is time zone 5321.8Schristosaware. It is freely available under the <abbr>MIT</abbr> license.</li> 5331.10Schristos<li><a href="https://www.npmjs.com/package/@tubular/time">@tubular/time</a> 5341.10Schristossupports live <code><abbr>tzdb</abbr></code> updates, 5351.10Schristosastronomical and atomic time, a command-line interface, 5361.10Schristosand full <a 5371.10Schristoshref="https://en.wikipedia.org/wiki/TypeScript">TypeScript</a>. 5381.10SchristosIts companion <a 5391.10Schristoshref="https://www.npmjs.com/package/@tubular/time-tzdb">@tubular/time-tzdb</a> 5401.10Schristoscan generate <abbr>TZif</abbr> and other files, and a companion website 5411.10Schristos<a href="https://tzexplorer.org">Timezone Database Explorer</a> lets you 5421.10Schristosconvert timestamps, view transition histories, and download code and data. 5431.10SchristosIt is freely available under the <abbr>MIT</abbr> license.</li> 5441.1Schristos</ul> 5451.10SchristosThe proposed <a 5461.16Schristoshref="https://github.com/tc39/proposal-temporal"><code>Temporal</code> 5471.10Schristosobjects</a> let programs access an abstract view of 5481.10Schristos<code><abbr>tzdb</abbr></code> data, and are designed to replace <a 5491.20Schristoshref="https://codeofmatt.com/javascript-date-type-is-horribly-broken/">JavaScript’s 5501.16Schristosproblematic <code>Date</code> objects</a> when working with dates and times. 5511.17Schristos<li><a href="https://github.com/JuliaTime">JuliaTime</a> contains a 5521.1Schristoscompiler from <code><abbr>tz</abbr></code> source into 5531.17Schristos<a href="https://julialang.org">Julia</a>. It is freely available 5541.1Schristosunder the <abbr>MIT</abbr> license.</li> 5551.20Schristos<li><a href="https://github.com/pavkam/tzdb"><abbr>TZDB</abbr> – 5561.6Schristos<abbr>IANA</abbr> Time Zone Database for Delphi/<abbr 5571.6Schristostitle="Free Pascal Compiler">FPC</abbr></a> 5581.2Schristoscompiles from <code><abbr>tz</abbr></code> source into 5591.2Schristos<a href="https://en.wikipedia.org/wiki/Object_Pascal">Object Pascal</a> 5601.2Schristosas compiled by <a href="https://en.wikipedia.org/wiki/Delphi_(IDE)">Delphi</a> 5611.2Schristosand <a 5621.2Schristoshref="https://en.wikipedia.org/wiki/Free_Pascal"><abbr>FPC</abbr></a>. 5631.2SchristosIt is freely available under a <abbr>BSD</abbr>-style license.</li> 5641.20Schristos<li><a href="https://pythonhosted.org/pytz/">pytz – World Timezone 5651.1SchristosDefinitions for Python</a> compiles <code><abbr>tz</abbr></code> source into 5661.1Schristos<a href="https://www.python.org">Python</a>. 5671.9SchristosIt is freely available under a <abbr>BSD</abbr>-style license. 5681.11SchristosIn code that can assume Python 3.6 or later it is largely superseded; see <a 5691.11Schristoshref="https://blog.ganssle.io/articles/2018/03/pytz-fastest-footgun.html">pytz: 5701.11SchristosThe Fastest Footgun in the West</a>.</li> 5711.20Schristos<li><a href="https://tzinfo.github.io">TZInfo – 5721.1SchristosRuby Timezone Library</a> 5731.1Schristoscompiles <code><abbr>tz</abbr></code> source into 5741.1Schristos<a href="https://www.ruby-lang.org/en/">Ruby</a>. 5751.1SchristosIt is freely available under the <abbr>MIT</abbr> license.</li> 5761.13Schristos<li>The <a href="https://www.squeaksource.com/Chronos/">Chronos Date/Time 5771.1SchristosLibrary</a> is 5781.1Schristosa <a href="https://en.wikipedia.org/wiki/Smalltalk">Smalltalk</a> class 5791.1Schristoslibrary that compiles <code><abbr>tz</abbr></code> source into a time 5801.1Schristoszone repository whose format 5811.1Schristosis either proprietary or an <abbr>XML</abbr>-encoded 5821.1Schristosrepresentation.</li> 5831.1Schristos<li><a id="Tcl" href="https://tcl.tk">Tcl</a> 5841.1Schristoscontains a developer-oriented parser that compiles <code><abbr>tz</abbr></code> 5851.1Schristossource into text files, along with a runtime that can read those 5861.1Schristosfiles. Tcl is freely available under a <abbr>BSD</abbr>-style 5871.1Schristoslicense.</li> 5881.1Schristos</ul> 5891.6Schristos</section> 5901.6Schristos 5911.6Schristos<section> 5921.2Schristos<h2 id="TZif">Other <abbr>TZif</abbr> readers</h2> 5931.1Schristos<ul> 5941.1Schristos<li>The <a 5951.1Schristoshref="https://www.gnu.org/software/libc/"><abbr>GNU</abbr> C 5961.1SchristosLibrary</a> 5971.1Schristoshas an independent, thread-safe implementation of 5981.2Schristosa <abbr>TZif</abbr> file reader. 5991.1SchristosThis library is freely available under the LGPL 6001.1Schristosand is widely used in <abbr>GNU</abbr>/Linux systems.</li> 6011.20Schristos<li><a href="https://www.gnome.org">GNOME</a>’s 6021.1Schristos<a href="https://developer.gnome.org/glib/">GLib</a> has 6031.2Schristosa <abbr>TZif</abbr> file reader written in C that 6041.1Schristoscreates a <code>GTimeZone</code> object representing sets 6051.1Schristosof <abbr>UT</abbr> offsets. 6061.1SchristosIt is freely available under the <abbr>LGPL</abbr>.</li> 6071.1Schristos<li>The 6081.20Schristos<a href="https://github.com/bloomberg/bde/wiki">BDE Standard Library</a>’s 6091.1Schristos<code>baltzo::TimeZoneUtil</code> component contains a C++ 6101.2Schristosimplementation of a <abbr>TZif</abbr> file reader. It is freely available under 6111.1Schristosthe Apache License.</li> 6121.1Schristos<li><a href="https://github.com/google/cctz">CCTZ</a> is a simple C++ 6131.1Schristoslibrary that translates between <abbr>UT</abbr> and civil time and 6141.2Schristoscan read <abbr>TZif</abbr> files. It is freely available under the Apache 6151.1SchristosLicense.</li> 6161.20Schristos<li>The <a href="https://golang.org">Go programming language</a> 6171.20Schristoshas a <abbr>TZif</abbr> file reader <a 6181.20Schristoshref="https://pkg.go.dev/time#LoadLocationFromTZData"><code>LoadLocationFromTZData</code></a>.</li> 6191.16Schristos<li>The 6201.16Schristos<a href="https://github.com/nayarsystems/posix_tz_db"><code>posix_tz_db</code> 6211.16Schristospackage</a> contains Python code 6221.16Schristosto generate <abbr>CSV</abbr> and <abbr>JSON</abbr> tables that map 6231.17Schristos<code><abbr>tz</abbr></code> settings to proleptic TZ approximations. 6241.16SchristosFor example, it maps <code>"Africa/Cairo"</code> 6251.16Schristosto <code>"EET-2EEST,M4.5.5/0,M10.5.4/24"</code>, 6261.16Schristosan approximation valid for Cairo timestamps from 2023 on. 6271.17SchristosThis can help porting to platforms that support only proleptic TZ. 6281.16SchristosThe package is freely available under the MIT license.</li> 6291.1Schristos<li><a href="https://github.com/derickr/timelib">Timelib</a> is a C 6301.2Schristoslibrary that reads <abbr>TZif</abbr> files and converts 6311.2Schristostimestamps from one time zone or format to another. 6321.1SchristosIt is used by <a href="https://secure.php.net"><abbr 6331.1Schristostitle="PHP: Hypertext Preprocessor">PHP</abbr></a>, 6341.1Schristos<a href="https://hhvm.com"><abbr title="HipHop Virtual Machine">HHVM</abbr></a>, 6351.1Schristosand <a href="https://www.mongodb.com">MongoDB</a>. 6361.1SchristosIt is freely available under the <abbr>MIT</abbr> license.</li> 6371.1Schristos<li>Tcl, mentioned <a href="#Tcl">above</a>, also contains a 6381.2Schristos<abbr>TZif</abbr> file reader.</li> 6391.4Schristos<li><a href="https://metacpan.org/pod/DateTime::TimeZone::Tzfile"> 6401.1SchristosDateTime::TimeZone::Tzfile</a> 6411.2Schristosis a <abbr>TZif</abbr> file reader written in Perl. 6421.1SchristosIt is freely available under the same terms as Perl 6431.1Schristos(dual <abbr>GPL</abbr> and Artistic license).</li> 6441.9Schristos<li>Python has a <a id="python-zoneinfo" 6451.11Schristoshref="https://docs.python.org/3/library/zoneinfo.html"><code>zoneinfo.ZoneInfo</code> 6461.8Schristosclass</a> that reads <abbr>TZif</abbr> data and creates objects 6471.8Schristosthat represent <code><abbr>tzdb</abbr></code> timezones. 6481.8SchristosPython is freely available under the 6491.11Schristos<a href="https://docs.python.org/3/license.html">Python Software Foundation 6501.8SchristosLicense</a>. 6511.17SchristosA companion <a id="pypi-tzdata" href="https://pypi.org">PyPI</a> module 6521.8Schristos<a href="https://pypi.org/project/tzdata/"><code>tzdata</code></a> 6531.8Schristossupplies TZif data if the underlying system data cannot be found; 6541.8Schristosit is freely available under the Apache License.</li> 6551.1Schristos<li>The 6561.1Schristospublic-domain <a href="https://github.com/dbaron/tz.js">tz.js</a> 6571.1Schristoslibrary contains a Python tool that 6581.2Schristosconverts <abbr>TZif</abbr> data into 6591.1Schristos<abbr>JSON</abbr>-format data suitable for use 6601.1Schristosin its JavaScript library for time zone conversion. Dates before 1970 6611.1Schristosare not supported.</li> 6621.1Schristos<li>The <a 6631.1Schristoshref="https://hackage.haskell.org/package/timezone-olson">timezone-olson</a> 6641.1Schristospackage contains <a href="https://www.haskell.org">Haskell</a> code that 6651.2Schristosparses and uses <abbr>TZif</abbr> data. It is freely 6661.1Schristosavailable under a <abbr>BSD</abbr>-style license.</li> 6671.1Schristos</ul> 6681.6Schristos</section> 6691.6Schristos 6701.6Schristos<section> 6711.1Schristos<h2 id="software">Other <code><abbr>tz</abbr></code>-based time zone software</h2> 6721.1Schristos<ul> 6731.1Schristos<li><a href="https://foxclocks.org">FoxClocks</a> 6741.1Schristosis an extension for <a href="https://www.google.com/chrome/">Google 6751.16SchristosChrome</a>, <a 6761.1Schristoshref="https://www.mozilla.org/en-US/firefox/new/">Firefox</a> and <a 6771.1Schristoshref="https://www.mozilla.org/en-US/thunderbird/">Thunderbird</a>. 6781.1SchristosIt displays multiple clocks in the application window, and has a mapping 6791.1Schristosinterface to <a href="https://www.google.com/earth/">Google Earth</a>. 6801.1SchristosIt is freely available under the <abbr>GPL</abbr>.</li> 6811.1Schristos<li>Microsoft Windows 8.1 6821.1Schristosand later has <code><abbr>tz</abbr></code> data and <abbr>CLDR</abbr> 6831.3Schristosdata (mentioned <a href="#CLDR">below</a>) used by the 6841.3Schristos<a href="https://en.wikipedia.org/wiki/Windows_Runtime">Windows Runtime</a> / 6851.3Schristos<a href="https://en.wikipedia.org/wiki/Universal_Windows_Platform">Universal Windows Platform</a> classes 6861.3Schristos<a href="https://docs.microsoft.com/uwp/api/Windows.Globalization.DateTimeFormatting.DateTimeFormatter"><code>DateTimeFormatter</code></a> and 6871.3Schristos<a href="https://docs.microsoft.com/uwp/api/windows.globalization.calendar"><code>Calendar</code></a>. 6881.1Schristos<a id="System.TimeZoneInfo" 6891.1Schristoshref="https://blogs.msdn.microsoft.com/bclteam/2007/06/07/exploring-windows-time-zones-with-system-timezoneinfo-josh-free/">Exploring 6901.1SchristosWindows Time Zones with <code>System.TimeZoneInfo</code></a> describes 6911.1Schristosthe older, proprietary method of Microsoft Windows 2000 and later, 6921.1Schristoswhich stores time zone data in the 6931.1Schristos<a href="https://en.wikipedia.org/wiki/Windows_Registry">Windows Registry</a>. The 6941.1Schristos<a 6951.20Schristoshref="https://unicode.org/cldr/charts/latest/supplemental/zone_tzid.html">Zone 6961.20Schristos→ Tzid table</a> or <a 6971.6Schristoshref="https://github.com/unicode-org/cldr/blob/master/common/supplemental/windowsZones.xml"><abbr>XML</abbr> 6981.1Schristosfile</a> of the <abbr>CLDR</abbr> data maps proprietary zone IDs 6991.1Schristosto <code><abbr>tz</abbr></code> names. 7001.3SchristosThese mappings can be performed programmatically via the <a href="https://github.com/mj1856/TimeZoneConverter">TimeZoneConverter</a> .NET library, 7011.3Schristosor the ICU Java and C++ libraries mentioned <a href="#ICU">above</a>. 7021.1Schristos<li><a 7031.1Schristoshref="https://www.oracle.com/java/index.html">Oracle 7041.1SchristosJava</a> contains a copy of a subset of a recent 7051.1Schristos<code><abbr>tz</abbr></code> database in a 7061.1SchristosJava-specific format.</li> 7071.1Schristos</ul> 7081.6Schristos</section> 7091.6Schristos 7101.6Schristos<section> 7111.1Schristos<h2 id="other-dbs">Other time zone databases</h2> 7121.1Schristos<ul> 7131.1Schristos<li><a href="https://www.astro.com/atlas">Time-zone Atlas</a> 7141.20Schristosis Astrodienst’s Web version of Shanks and Pottenger’s out-of-print 7151.4Schristostime zone history atlases 7161.4Schristos<a href="https://www.worldcat.org/oclc/468828649">for the US</a> and 7171.9Schristos<a href="https://www.worldcat.org/oclc/76950459">for the world</a>. 7181.4SchristosAlthough these extensive atlases 7191.4Schristos<a href="https://astrologynewsservice.com/opinion/how-astrologers-contributed-to-the-information-age-a-brief-history-of-time/">were 7201.4Schristossources for much of the older <code><abbr>tz</abbr></code> data</a>, 7211.4Schristosthey are unreliable as Shanks appears to have 7221.1Schristosguessed many <abbr>UT</abbr> offsets and transitions. The atlases cite no 7231.1Schristossources and do not indicate which entries are guesswork.</li> 7241.1Schristos<li><a href="https://en.wikipedia.org/wiki/HP-UX">HP-UX</a> has a database in 7251.1Schristosits own <code>tztab</code>(4) format.</li> 7261.1Schristos<li>Microsoft Windows has proprietary data mentioned 7271.1Schristos<a href="#System.TimeZoneInfo">above</a>.</li> 7281.1Schristos<li><a href="https://www.worldtimeserver.com">World Time Server</a> 7291.1Schristosis another time zone database.</li> 7301.1Schristos<li>The <a 7311.1Schristoshref="https://www.iata.org/publications/store/Pages/standard-schedules-information.aspx">Standard 7321.1SchristosSchedules Information Manual</a> of the 7331.1SchristosInternational Air Transport Association 7341.1Schristosgives current time zone rules for airports served by commercial aviation.</li> 7351.1Schristos</ul> 7361.6Schristos</section> 7371.6Schristos 7381.6Schristos<section> 7391.1Schristos<h2 id="maps">Maps</h2> 7401.1Schristos<ul> 7411.9Schristos<li>The <a 7421.9Schristoshref="https://www.cia.gov/the-world-factbook/maps/world-regional/">World 7431.9Schristosand Regional Maps section</a> of <em>The World Factbook</em>, published by the 7441.9Schristos<a href="https://www.cia.gov">US Central Intelligence 7451.9SchristosAgency (<abbr 7461.9Schristostitle="Central Intelligence Agency">CIA</abbr>)</a>, contains a time 7471.9Schristoszone map; the 7481.1Schristos<a 7491.20Schristoshref="https://legacy.lib.utexas.edu/maps/world.html">Perry–Castañeda 7501.1SchristosLibrary Map Collection</a> 7511.1Schristosof the University of Texas at Austin has copies of 7521.1Schristosrecent editions. 7531.1SchristosThe pictorial quality is good, 7541.1Schristosbut the maps do not indicate daylight saving time, 7551.1Schristosand parts of the data are a few years out of date.</li> 7561.6Schristos<li><a href="https://www.worldtimezone.com">World Time Zone Map 7571.6Schristoswith current time</a> 7581.1Schristoshas several fancy time zone maps; it covers Russia particularly well. 7591.20SchristosThe maps’ pictorial quality is not quite as good as the <abbr>CIA</abbr>’s 7601.1Schristosbut the maps are more up to date.</li> 7611.1Schristos<li><a 7621.1Schristoshref="https://blog.poormansmath.net/how-much-is-time-wrong-around-the-world/">How 7631.1Schristosmuch is time wrong around the world?</a> maps the difference between 7641.1Schristosmean solar and standard time, highlighting areas such as western China 7651.20Schristoswhere the two differ greatly. It’s a bit out of date, unfortunately.</li> 7661.1Schristos</ul> 7671.6Schristos</section> 7681.6Schristos 7691.6Schristos<section> 7701.1Schristos<h2 id="boundaries">Time zone boundaries</h2> 7711.2Schristos<p>Geographical boundaries between timezones are available 7721.9Schristosfrom several <a 7731.9Schristoshref="https://en.wikipedia.org/wiki/Internet_geolocation">Internet 7741.9Schristosgeolocation</a> 7751.1Schristosservices and other sources.</p> 7761.1Schristos<ul> 7771.1Schristos<li><a href="https://github.com/evansiroky/timezone-boundary-builder">Timezone 7781.1SchristosBoundary Builder</a> extracts 7791.1Schristos<a href="https://www.openstreetmap.org">Open Street Map</a> data to build 7801.2Schristosboundaries of <code><abbr>tzdb</abbr></code> timezones. 7811.1SchristosIts code is freely available under the <abbr>MIT</abbr> license, and 7821.1Schristosits data entries are freely available under the 7831.1Schristos<a href="https://opendatacommons.org/licenses/odbl/">Open Data Commons 7841.16SchristosOpen Database License</a>. The borders appear to be quite accurate. 7851.16SchristosIts main web page lists more than twenty libraries 7861.16Schristosfor looking up a timezone name from a GPS coordinate.</li> 7871.1Schristos<li>Free access via a network API, if you register a key, is provided by 7881.4Schristosthe <a 7891.4Schristoshref="https://www.geonames.org/export/web-services.html#timezone">GeoNames 7901.4SchristosTimezone web service</a>, the <a 7911.4Schristoshref="https://developers.google.com/maps/documentation/timezone/intro">Google 7921.4SchristosMaps Time Zone API</a>, and 7931.8Schristosthe <a href="https://timezonedb.com/api">TimeZoneDB API</a>. 7941.1SchristosCommercial network API access is provided 7951.1Schristosby <a href="https://askgeo.com">AskGeo</a> 7961.1Schristosand <a href="https://www.geogarage.com/blog/news-1/post/geogarage-time-zone-api-31">GeoGarage</a>. 7971.1Schristos</li> 7981.20Schristos<li>“<a 7991.1Schristoshref="https://stackoverflow.com/questions/16086962/how-to-get-a-time-zone-from-a-location-using-latitude-and-longitude-coordinates/16086964">How 8001.1Schristosto get a time zone from a location using latitude and longitude 8011.20Schristoscoordinates?</a>” discusses other geolocation possibilities.</li> 8021.1Schristos<li><a href="http://statoids.com/statoids.html">Administrative 8031.20SchristosDivisions of Countries (“Statoids”)</a> lists 8041.1Schristospolitical subdivision data related to time zones.</li> 8051.13Schristos<li><a href="https://manifold.net/info/freestuff.shtml">Manifold Software 8061.20Schristos– GIS and Database Tools</a> includes a Manifold-format map of 8071.16Schristosworld time zone boundaries circa 2007, distributed under the 8081.1Schristos<abbr>GPL</abbr>.</li> 8091.1Schristos<li>A ship within the <a 8101.1Schristoshref="https://en.wikipedia.org/wiki/Territorial_waters">territorial 8111.20Schristoswaters</a> of any nation uses that nation’s time. In international 8121.20Schristoswaters, time zone boundaries are meridians 15° apart, except that 8131.20Schristos<abbr>UT</abbr>−12 and <abbr>UT</abbr>+12 are each 7.5° 8141.1Schristoswide and are separated by 8151.20Schristosthe 180° meridian (not by the International Date Line, which is 8161.20Schristosfor land and territorial waters only). A captain can change ship’s 8171.1Schristosclocks any time after entering a new time zone; midnight changes are 8181.1Schristoscommon.</li> 8191.1Schristos</ul> 8201.6Schristos</section> 8211.6Schristos 8221.6Schristos<section> 8231.1Schristos<h2 id="civil">Civil time concepts and history</h2> 8241.1Schristos<ul> 8251.1Schristos<li><a href="https://www.nist.gov/pml/time-and-frequency-division/popular-links/walk-through-time">A 8261.1SchristosWalk through Time</a> 8271.1Schristossurveys the evolution of timekeeping.</li> 8281.4Schristos<li>The history of daylight saving time is surveyed in <a 8291.4Schristoshref="http://www.webexhibits.org/daylightsaving/">About Daylight 8301.20SchristosSaving Time – History, rationale, laws & dates</a> and summarized in 8311.4Schristos<a href="http://seizethedaylight.com/dst/">A Brief 8321.4SchristosHistory of Daylight Saving Time</a>.</li> 8331.4Schristos<li><a href="https://www.laphamsquarterly.org/roundtable/time-lords">Time 8341.4SchristosLords</a> discusses how authoritarians manipulate civil time.</li> 8351.20Schristos<li><a href="https://www.w3.org/TR/timezone/">Working with Time 8361.20Schristosand Time Zones</a> 8371.1Schristoscontains guidelines and best practices for software applications that 8381.1Schristosdeal with civil time.</li> 8391.16Schristos<li><a href="https://webspace.science.uu.nl/~gent0113/idl/idl.htm">A History of 8401.1Schristosthe International Date Line</a> tells the story of the most important 8411.1Schristostime zone boundary.</li> 8421.1Schristos<li><a href="http://statoids.com/tconcept.html">Basic Time 8431.1SchristosZone Concepts</a> discusses terminological issues behind time zones.</li> 8441.1Schristos</ul> 8451.6Schristos</section> 8461.6Schristos 8471.6Schristos<section> 8481.1Schristos<h2 id="national">National histories of legal time</h2> 8491.1Schristos<dl> 8501.1Schristos<dt>Australia</dt> 8511.20Schristos<dd>The Bureau of Meteorology publishes a list of <a 8521.1Schristoshref="http://www.bom.gov.au/climate/averages/tables/dst_times.shtml">Implementation 8531.1SchristosDates of Daylight Savings Time within Australia</a>.</dd> 8541.1Schristos<dt>Belgium</dt> 8551.7Schristos<dd>The Royal Observatory of Belgium maintains a table of time in 8561.7SchristosBelgium (in 8571.16Schristos<a href="https://robinfo.oma.be/nl/astro-info/tijd/" 8581.7Schristoshreflang="nl">Dutch</a> and <a 8591.16Schristoshref="https://robinfo.oma.be/fr/astro-info/heure/" 8601.7Schristoshreflang="fr">French</a>).</dd> 8611.1Schristos<dt>Brazil</dt> 8621.1Schristos<dd>The Time Service Department of the National Observatory 8631.1Schristosrecords <a href="http://pcdsh01.on.br/DecHV.html" 8641.20Schristoshreflang="pt-BR">Brazil’s daylight saving time decrees (in 8651.1SchristosPortuguese)</a>.</dd> 8661.1Schristos<dt>Canada</dt> 8671.1Schristos<dd>National Research Council Canada publishes current 8681.1Schristosand some older information about <a 8691.6Schristoshref="https://nrc.canada.ca/en/certifications-evaluations-standards/canadas-official-time/time-zones-daylight-saving-time">time 8701.6Schristoszones and daylight saving time</a>.</dd> 8711.1Schristos<dt>Chile</dt> 8721.1Schristos<dd>The Hydrographic and Oceanographic Service of the Chilean Navy publishes a 8731.11Schristos<a href="https://www.horaoficial.cl/historia_hora.php" hreflang="es">history of 8741.20SchristosChile’s official time (in Spanish)</a>.</dd> 8751.3Schristos<dt>China</dt> 8761.3Schristos<dd>The Hong Kong Observatory maintains a 8771.7Schristos<a href="https://www.hko.gov.hk/en/gts/time/Summertime.htm">history of 8781.3Schristos summer time in Hong Kong</a>, 8791.20Schristosand Macau’s Meteorological and Geophysical Bureau maintains a <a 8801.7Schristoshref="https://www.smg.gov.mo/en/subpage/224/page/174">similar 8811.3Schristoshistory for Macau</a>. 8821.3SchristosUnfortunately the latter is incomplete and has errors.</dd> 8831.1Schristos<dt>Czech Republic</dt> 8841.1Schristos<dd><a href="https://kalendar.beda.cz/kdy-zacina-a-konci-letni-cas" 8851.1Schristoshreflang="cs">When daylight saving time starts and ends (in Czech)</a> 8861.10Schristossummarizes and cites historical <abbr>DST</abbr> regulations.</dd> 8871.1Schristos<dt>Germany</dt> 8881.1Schristos<dd>The National Institute for Science and Technology maintains the <a 8891.1Schristoshref="https://www.ptb.de/cms/en/fachabteilungen/abt4/fb-44/ag-441/realisation-of-legal-time-in-germany.html">Realisation 8901.1Schristosof Legal Time in Germany</a>.</dd> 8911.1Schristos<dt>Israel</dt> 8921.17Schristos<dd><a 8931.17Schristoshref="https://tz.cs.huji.ac.il">Israel Timezone Files</a> 8941.17Schristoslists official time-change announcements and laws since 1940, 8951.17Schristosalmost all in Hebrew.</dd> 8961.2Schristos<dt>Malaysia</dt> 8971.2Schristos<dd>See Singapore <a href="#Singapore">below</a>.</dd> 8981.1Schristos<dt>Mexico</dt> 8991.1Schristos<dd>The Investigation and Analysis Service of the Mexican Library of 9001.1SchristosCongress has published a <a 9011.13Schristoshref="https://www.diputados.gob.mx/bibliot/publica/inveyana/polisoc/horver/index.htm" 9021.1Schristoshreflang="es">history of Mexican local time (in Spanish)</a>.</dd> 9031.1Schristos<dt>Netherlands</dt> 9041.16Schristos<dd><a href="https://webspace.science.uu.nl/~gent0113/wettijd/wettijd.htm" 9051.1Schristoshreflang="nl">Legal time in the Netherlands (in Dutch)</a> 9061.1Schristoscovers the history of local time in the Netherlands from ancient times.</dd> 9071.1Schristos<dt>New Zealand</dt> 9081.1Schristos<dd>The Department of Internal Affairs maintains a brief <a 9091.1Schristoshref="https://www.dia.govt.nz/Daylight-Saving-History">History of 9101.6SchristosDaylight Saving</a>.</dd> 9111.14Schristos<dt>Palestine</dt> 9121.20Schristos<dd>The Ministry of Telecom and Digital Economy publishes a <a 9131.20Schristoshref="https://mtde.gov.ps/home/TimeZone" 9141.14Schristoshreflang="ar">history of clock changes (in Arabic)</a>.</dd> 9151.10Schristos<dt>Portugal</dt> 9161.10Schristos<dd>The Lisbon Astronomical Observatory publishes a 9171.10Schristos<a href="https://oal.ul.pt/hora-legal/" hreflang="pt">history of 9181.10Schristoslegal time (in Portuguese)</a>.</dd> 9191.1Schristos<dt>Singapore</dt> 9201.1Schristos<dd><a id="Singapore" 9211.7Schristoshref="https://web.archive.org/web/20190822231045/http://www.math.nus.edu.sg/~mathelmr/teaching/timezone.html">Why 9221.20Schristosis Singapore in the “Wrong” Time Zone?</a> details the 9231.1Schristoshistory of legal time in Singapore and Malaysia.</dd> 9241.1Schristos<dt>United Kingdom</dt> 9251.1Schristos<dd><a 9261.1Schristoshref="https://www.polyomino.org.uk/british-time/">History of 9271.1Schristoslegal time in Britain</a> discusses in detail the country 9281.6Schristoswith perhaps the best-documented history of clock adjustments.</dd> 9291.1Schristos<dt>United States</dt> 9301.20Schristos<dd>The Department of Transportation’s <a 9311.1Schristoshref="https://www.transportation.gov/regulations/recent-time-zone-proceedings">Recent 9321.18SchristosTime Zone Proceedings</a> lists changes to 9331.18Schristosofficial written time zone boundaries, and its <a 9341.18Schristoshref="https://geodata.bts.gov/datasets/usdot::time-zones/about">Time 9351.18SchristosZones dataset</a> maps current boundaries. 9361.18SchristosThese boundaries are only for standard time, so the current map puts 9371.18Schristosall of Arizona in one time zone even though part of Arizona 9381.18Schristosobserves <abbr>DST</abbr> and part does not.</dd> 9391.1Schristos<dt>Uruguay</dt> 9401.1Schristos<dd>The Oceanography, Hydrography, and Meteorology Service of the Uruguayan 9411.1SchristosNavy (SOHMA) publishes an annual <a 9421.13Schristoshref="https://sohma.armada.mil.uy/index.php/servicios/datos-astronomicos" hreflang="es">almanac 9431.1Schristos(in Spanish)</a>.</dd> 9441.1Schristos</dl> 9451.6Schristos</section> 9461.6Schristos 9471.6Schristos<section> 9481.7Schristos<h2 id="costs">Costs and benefits of time shifts</h2> 9491.7Schristos<p>Various sources argue for and against daylight saving time and time 9501.7Schristoszone shifts, and many scientific studies have been conducted. This 9511.8Schristossection summarizes reviews and position statements based on 9521.8Schristosscientific literature in the area.</p> 9531.7Schristos<ul> 9541.7Schristos<li>Carey RN, Sarma KM. 9551.7Schristos<a href="https://bmjopen.bmj.com/content/7/6/e014319.long">Impact of 9561.7Schristosdaylight saving time on road traffic collision risk: a systematic 9571.7Schristosreview</a>. 9581.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>. 9591.7SchristosThis reviews research literature and concludes that the evidence 9601.7Schristosneither supports nor refutes road safety benefits from 9611.7Schristosshifts in time zones.</li> 9621.7Schristos<li>Havranek T, Herman D, Irsova D. 9631.20SchristosDoes daylight saving save electricity? A meta-analysis. 9641.20Schristos<em>Energy J.</em> 2018;39(2):35–61. 9651.7Schristosdoi:<a href="https://doi.org/10.5547/01956574.39.2.thav">10.5547/01956574.39.2.thav</a>. 9661.20SchristosThis analyzes research literature and concludes, “Electricity savings 9671.7Schristosare larger for countries farther away from the equator, while 9681.20Schristossubtropical regions consume more electricity because of <abbr>DST</abbr>.”</li> 9691.20Schristos<li>Neumann P, von Blanckenburg K. <a 9701.20Schristoshref="https://journals.sagepub.com/doi/full/10.1177/0961463X241310562">What 9711.20Schristostime will it be? A comprehensive literature review on daylight saving time</a>. 9721.20Schristos<em>Time Soc</em>. 2025-01-21. 9731.20Schristosdoi:<a href="https://doi.org/10.1177/0961463X241310562">10.1177/0961463X241310562</a>. 9741.20SchristosThis reviews DST’s effects on electricity, health, crime, road safety, 9751.20Schristosand the economy, focusing on research since 2010, and concludes that 9761.20Schristosyear-round standard time is preferable overall. 9771.20Schristos</ul> 9781.20Schristos 9791.20Schristos<p>The following medical societies have taken positions on the 9801.20Schristosadvisability of clock shifts:</p> 9811.20Schristos 9821.20Schristos<ul> 9831.20Schristos<li>In 2022 the American Medical Association issued a 9841.20Schristos<a href="https://www.ama-assn.org/press-center/press-releases/ama-calls-permanent-standard-time">statement 9851.20Schristossupporting permanent standard time</a> on health grounds.</li> 9861.20Schristos<li>Crawford MR, Winnebeck EC, von Schantz M <em>et al</em>. 9871.20Schristos<a href="https://onlinelibrary.wiley.com/doi/10.1111/jsr.14352">The 9881.20SchristosBritish Sleep Society position statement on Daylight Saving Time in the UK</a>. 9891.20Schristos<em>J Sleep Res.</em> 2025;34(3):e14352. 9901.20Schristosdoi:<a href="https://doi.org/10.1111/jsr.14352">10.1111/jsr.14352</a>. 9911.20SchristosThis recommends that the UK abolish DST for health reasons.</li> 9921.16Schristos<li>Malow BA. <a 9931.16Schristoshref="https://academic.oup.com/sleep/article/45/12/zsac236/6717940">It is time 9941.16Schristosto abolish the clock change and adopt permanent 9951.16Schristosstandard time in the United States: 9961.16Schristosa Sleep Research Society position statement</a>. 9971.15Schristos<em>Sleep.</em> 2022;45(12):zsac236. 9981.15Schristosdoi:<a href="https://doi.org/10.1093/sleep/zsac236">10.1093/sleep/zsac236</a>. 9991.15SchristosAfter reviewing the scientific literature, the Sleep Research Society 10001.20Schristosadvocates permanent standard time due to its health benefits.</li> 10011.15Schristos<li>Rishi MA, Cheng JY, Strang AR <em>et al</em>. 10021.15Schristos<a href="https://jcsm.aasm.org/doi/10.5664/jcsm.10898">Permanent standard time 10031.15Schristosis the optimal choice for health and safety: 10041.8Schristosan American Academy of Sleep Medicine position statement</a>. 10051.20Schristos<em>J Clin Sleep Med.</em> 2024;20(1):121–125. 10061.15Schristosdoi:<a href="https://doi.org/10.5664/jcsm.10898">10.5664/jcsm.10898</a>. 10071.15SchristosThe AASM argues for permanent standard time due to health and safety risks 10081.15Schristosand economic costs of both <abbr>DST</abbr> transitions and 10091.15Schristospermanent <abbr>DST</abbr>.</li> 10101.13Schristos<li>Roenneberg T, Wirz-Justice A, Skene DJ <em>et al</em>. 10111.16Schristos<a href="https://journals.sagepub.com/doi/10.1177/0748730419854197">Why 10121.13Schristosshould we abolish Daylight Saving Time?</a> 10131.20Schristos<em>J Biol Rhythms.</em> 2019;34(3):227–230. 10141.13Schristosdoi:<a href="https://doi.org/10.1177/0748730419854197">10.1177/0748730419854197</a>. 10151.15SchristosThe Society for Research on Biological Rhythms 10161.18Schristosopposes <abbr>DST</abbr> changes and permanent <abbr>DST</abbr>, 10171.18Schristosand advocates that governments adopt 10181.20Schristos“permanent Standard Time for the health and safety of their citizens”.</li> 10191.7Schristos</ul> 10201.7Schristos</section> 10211.7Schristos 10221.7Schristos<section> 10231.1Schristos<h2 id="precision">Precision timekeeping</h2> 10241.1Schristos<ul> 10251.1Schristos<li><a 10261.1Schristoshref="http://leapsecond.com/hpan/an1289.pdf">The 10271.1SchristosScience of Timekeeping</a> is a thorough introduction 10281.1Schristosto the theory and practice of precision timekeeping.</li> 10291.1Schristos<li><a href="https://doi.org/10.1007/978-3-319-59909-0">The Science of 10301.14SchristosTime 2016</a> contains several freely readable papers.</li> 10311.13Schristos<li><a href="https://www.ntp.org"><abbr 10321.1Schristostitle="Network Time Protocol">NTP</abbr>: The Network 10331.1SchristosTime Protocol</a> (Internet <abbr>RFC</abbr> 5905) 10341.1Schristosdiscusses how to synchronize clocks of 10351.1SchristosInternet hosts.</li> 10361.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> 10371.2Schristosfamily of software algorithms can achieve accuracy to a few tens of 10381.2Schristosnanoseconds in scalable server farms without special hardware.</li> 10391.1Schristos<li>The <a 10401.1Schristoshref="https://www.nist.gov/intelligent-systems-division/ieee-1588">Precision 10411.1SchristosTime Protocol</a> (<abbr 10421.1Schristostitle="Institute of Electrical and Electronics Engineers">IEEE</abbr> 1588) 10431.2Schristoscan achieve submicrosecond clock accuracy on a local area network 10441.2Schristoswith special-purpose hardware.</li> 10451.1Schristos<li><a 10461.18Schristoshref="https://www.rfc-editor.org/rfc/rfc4833">Timezone 10471.1SchristosOptions for <abbr title="Dynamic Host Configuration Protocol">DHCP</abbr></a> 10481.1Schristos(Internet <abbr>RFC</abbr> 4833) 10491.1Schristosspecifies a <a 10501.1Schristoshref="https://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol"><abbr>DHCP</abbr></a> 10511.1Schristosoption for a server to configure 10521.20Schristosa client’s time zone and daylight saving settings automatically.</li> 10531.11Schristos<li><a href="https://www.ucolick.org/~sla/leapsecs/timescales.html">Time 10541.11SchristosScales</a> describes astronomical time scales like 10551.1Schristos<abbr title="Terrestrial Dynamic Time">TDT</abbr>, 10561.1Schristos<abbr title="Geocentric Coordinate Time">TCG</abbr>, and 10571.1Schristos<abbr title="Barycentric Dynamic Time">TDB</abbr>. 10581.1Schristos<li>The <a href="https://www.iau.org"><abbr 10591.20Schristostitle="International Astronomical Union">IAU</abbr></a>’s <a 10601.13Schristoshref="https://www.iausofa.org"><abbr 10611.1Schristostitle="Standards Of Fundamental Astronomy">SOFA</abbr></a> 10621.1Schristoscollection contains C and <a 10631.1Schristoshref="https://en.wikipedia.org/wiki/Fortran">Fortran</a> 10641.1Schristoscode for converting among time scales like 10651.1Schristos<abbr title="International Atomic Time">TAI</abbr>, 10661.1Schristos<abbr>TDB</abbr>, <abbr>TDT</abbr> and 10671.13Schristos<abbr>UTC</abbr>. It is freely available under the 10681.13Schristos<a href="https://www.iausofa.org/tandc.html">SOFA license</a>.</li> 10691.1Schristos<li><a 10701.1Schristoshref="https://www.giss.nasa.gov/tools/mars24/help/notes.html">Mars24 Sunclock 10711.20Schristos– Time on Mars</a> describes Airy Mean Time (<abbr>AMT</abbr>) and the 10721.1Schristosdiverse local time 10731.1Schristosscales used by each landed mission on Mars.</li> 10741.1Schristos<li><a href="http://leapsecond.com">LeapSecond.com</a> is 10751.1Schristosdedicated not only to leap seconds but to precise time and frequency 10761.1Schristosin general. It covers the state of the art in amateur timekeeping, and 10771.1Schristoshow the art has progressed over the past few decades.</li> 10781.7Schristos<li>The rules for leap seconds are specified in Annex 1 (Time scales) of <a 10791.7Schristoshref="https://www.itu.int/rec/R-REC-TF.460-6-200202-I/">Standard-frequency 10801.20Schristosand time-signal emissions</a>, International Telecommunication Union – 10811.7SchristosRadiocommunication Sector (ITU-R) Recommendation TF.460-6 (02/2002).</li> 10821.1Schristos<li><a 10831.1Schristoshref="https://www.iers.org/IERS/EN/Publications/Bulletins/bulletins.html"><abbr 10841.1Schristostitle="International Earth Rotation and Reference Systems Service">IERS</abbr> 10851.1SchristosBulletins</a> contains official publications of the International 10861.1SchristosEarth Rotation and Reference Systems Service, which decides when leap 10871.20Schristosseconds occur. 10881.20SchristosThe <code><abbr>tz</abbr></code> code and data support leap seconds 10891.20Schristosvia an optional <code>"right"</code> configuration where a computer’s internal 10901.9Schristos<code>time_t</code> integer clock counts every <abbr>TAI</abbr> second, 10911.20Schristosas opposed to the default <code>"posix"</code> configuration 10921.9Schristoswhere the internal clock ignores leap seconds. 10931.9SchristosThe two configurations agree for timestamps starting with 1972-01-01 00:00:00 10941.9Schristos<abbr>UTC</abbr> (<code>time_t</code> 63 072 000) and diverge for 10951.9Schristostimestamps starting with <code>time_t</code> 78 796 800, 10961.9Schristoswhich corresponds to the first leap second 10971.20Schristos1972-06-30 23:59:60 <abbr>UTC</abbr> in the <code>"right"</code> configuration, 10981.9Schristosand to 10991.20Schristos1972-07-01 00:00:00 <abbr>UTC</abbr> in the <code>"posix"</code> configuration. 11001.9SchristosIn practice the two configurations also agree for timestamps before 11011.9Schristos1972 even though the historical situation is messy, partly because 11021.9Schristosneither <abbr>UTC</abbr> nor <abbr>TAI</abbr> 11031.14Schristosis well-defined for sufficiently old timestamps.</li> 11041.17Schristos<li><a href="https://kb.meinbergglobal.com/kb/time_sync/ntp/configuration/ntp_leap_second_file">The 11051.17Schristos<abbr>NTP</abbr> Leap Second File</a> covers the text file 11061.17Schristos<code>leap-seconds.list</code>, which lists the currently known leap seconds. 11071.17SchristosThe <abbr>IERS</abbr> maintains this file, and a copy is distributed by 11081.17Schristos<code><abbr>tzdb</abbr></code> for use by <abbr>NTP</abbr> implementations like 11091.17Schristos<a href="https://www.ntp.org">classic 11101.17Schristos<code><abbr title="Network Time Protocol Daemon">ntpd</abbr></code></a> 11111.17Schristosand <a href="https://ntpsec.org">NTPsec</a>. 11121.17SchristosThe <code><abbr>tz</abbr></code> database also distributes leap second 11131.17Schristosinformation in a differently-formatted <code>leapseconds</code> text file, 11141.20Schristosas well as in the <code>"right"</code> configuration in binary form; for 11151.17Schristosexample, <code>right/UTC</code> can be used 11161.17Schristosby <a href="https://chrony-project.org"><code>chrony</code></a>, 11171.17Schristosanother <abbr>NTP</abbr> implementation.</li> 11181.1Schristos<li><a href="https://developers.google.com/time/smear">Leap Smear</a> 11191.1Schristosdiscusses how to gradually adjust <abbr>POSIX</abbr> clocks near a 11201.1Schristosleap second so that they disagree with <abbr>UTC</abbr> by at most a 11211.1Schristoshalf second, even though every <abbr>POSIX</abbr> minute has exactly 11221.4Schristossixty seconds. This approach works with the default <code><abbr>tz</abbr></code> 11231.20Schristos<code>"posix"</code> configuration, is <a 11241.1Schristoshref="http://bk1.ntp.org/ntp-stable/README.leapsmear">supported</a> by 11251.17Schristosthe abovementioned <abbr>NTP</abbr> implementations, <a 11261.12Schristoshref="https://github.com/google/unsmear">supports</a> conversion between 11271.12Schristos<abbr>UTC</abbr> and smeared <abbr>POSIX</abbr> timestamps, and is used by major 11281.7Schristoscloud service providers. However, according to 11291.20Schristos<a href="https://www.rfc-editor.org/rfc/rfc8633#section-3.7.1">§3.7.1 of 11301.7SchristosNetwork Time Protocol Best Current Practices</a> 11311.7Schristos(Internet <abbr>RFC</abbr> 8633), leap smearing is not suitable for 11321.9Schristosapplications requiring accurate <abbr>UTC</abbr> or civil time, 11331.7Schristosand is intended for use only in single, well-controlled environments.</li> 11341.1Schristos<li>The <a 11351.1Schristoshref="https://pairlist6.pair.net/mailman/listinfo/leapsecs">Leap 11361.1SchristosSecond Discussion List</a> covers <a 11371.1Schristoshref="https://www2.unb.ca/gge/Resources/gpsworld.november99.pdf">McCarthy 11381.20Schristosand Klepczynski’s 1999 proposal to discontinue leap seconds</a>, 11391.1Schristosdiscussed further in 11401.1Schristos<a href="https://www.cl.cam.ac.uk/~mgk25/time/metrologia-leapsecond.pdf">The 11411.1Schristosleap second: its history and possible future</a>. 11421.1Schristos<a href="https://www.ucolick.org/~sla/leapsecs/"><abbr>UTC</abbr> 11431.1Schristosmight be redefined 11441.1Schristoswithout Leap Seconds</a> gives pointers on this 11451.14Schristoscontentious issue. 11461.14SchristosThe General Conference on Weights and Measures 11471.16Schristos<a href="https://www.bipm.org/en/cgpm-2022/resolution-4">decided in 2022</a> 11481.17Schristosto discontinue the use of leap seconds by 2035, and requested that no 11491.17Schristosdiscontinuous adjustments be made to UTC for at least a century. 11501.16SchristosThe World Radiocommunication Conference <a 11511.16Schristoshref="https://www.itu.int/dms_pub/itu-r/opb/act/R-ACT-WRC.15-2023-PDF-E.pdf">resolved 11521.20Schristosin 2023</a> to cooperate with this process. One proposal to implement this 11531.20Schristoswould replace leap seconds with seven 13-second leap smears occurring once per 11541.17Schristosdecade until 2100, with leap smears after that gradually increasing in size. 11551.20SchristosSee: 11561.20Schristos<ul> 11571.20Schristos<li>Levine J. <a href="https://www.preprints.org/manuscript/202406.0043/v1">A 11581.20Schristosproposal to change the leap-second adjustments to 11591.20Schristoscoordinated universal time</a>. <em>Metrologia.</em> 2024;61(5):055002. doi:<a 11601.20Schristoshref="https://doi.org/10.1088/1681-7575/ad6266">10.1088/1681-7575/ad6266</a>.</li> 11611.20Schristos</ul> 11621.17SchristosHowever, there is still no consensus on whether this is the best way 11631.17Schristosto replace leap seconds. 11641.14Schristos</li> 11651.1Schristos</ul> 11661.6Schristos</section> 11671.6Schristos 11681.6Schristos<section> 11691.1Schristos<h2 id="notation">Time notation</h2> 11701.1Schristos<ul> 11711.13Schristos<li>The <a id="CLDR" href="https://cldr.unicode.org">Unicode Common Locale Data 11721.1SchristosRepository (<abbr>CLDR</abbr>) Project</a> has localizations for time 11731.1Schristoszone names, abbreviations, identifiers, and formats. For example, it 11741.20Schristoscontains French translations for “Eastern European Summer Time”, 11751.20Schristos“<abbr title="Eastern European Summer Time">EEST</abbr>”, and “Bucharest”. Its 11761.1Schristos<a href="https://unicode.org/cldr/charts/latest/by_type/">by-type 11771.1Schristoscharts</a> show these values for many locales. Data values are available in 11781.1Schristosboth <abbr title="Locale Data Markup Language">LDML</abbr> 11791.1Schristos(an <abbr>XML</abbr> format) and <abbr>JSON</abbr>. 11801.1Schristos<li> 11811.1Schristos<a href="https://www.cl.cam.ac.uk/~mgk25/iso-time.html">A summary of 11821.6Schristosthe international standard date and time notation</a> covers 11831.1Schristos<a 11841.6Schristoshref="https://www.iso.org/standard/70907.html"><em><abbr 11851.6Schristostitle="International Organization for Standardization">ISO</abbr> 11861.20Schristos8601-1:2019 – Date and time – Representations for information 11871.20Schristosinterchange – Part 1: Basic rules</em></a>.</li> 11881.1Schristos<li> 11891.6Schristos<a href="https://www.w3.org/TR/xmlschema/#dateTime"><abbr>XML</abbr> 11901.20SchristosSchema: Datatypes – dateTime</a> specifies a format inspired by 11911.1Schristos<abbr>ISO</abbr> 8601 that is in common use in <abbr>XML</abbr> data.</li> 11921.20Schristos<li><a href="https://www.rfc-editor.org/rfc/rfc5322#section-3.3">§3.3 of 11931.1SchristosInternet Message Format</a> (Internet <abbr>RFC</abbr> 5322) 11941.1Schristosspecifies the time notation used in email and <a 11951.1Schristoshref="https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol"><abbr>HTTP</abbr></a> 11961.1Schristosheaders.</li> 11971.1Schristos<li> 11981.18Schristos<a href="https://www.rfc-editor.org/rfc/rfc3339">Date and Time 11991.1Schristoson the Internet: Timestamps</a> (Internet <abbr>RFC</abbr> 3339) 12001.17Schristosspecifies an <abbr>ISO</abbr> 8601 profile for use in new Internet protocols. 12011.18SchristosAn extension, <a href="https://www.rfc-editor.org/rfc/rfc9557">Date 12021.17Schristosand Time on the Internet: Timestamps with Additional Information</a> 12031.17Schristos(Internet <abbr>RFC</abbr> 9557) extends this profile 12041.17Schristosto let you specify the <code><abbr>tzdb</abbr></code> timezone of a timestamp 12051.20Schristosvia suffixes like <code>[Asia/Tokyo]</code>. 12061.1Schristos<li> 12071.7Schristos<a href="https://web.archive.org/web/20190130042457/https://www.hackcraft.net/web/datetime/">Date & Time 12081.1SchristosFormats on the Web</a> surveys web- and Internet-oriented date and time 12091.1Schristosformats.</li> 12101.1Schristos<li>Alphabetic time zone abbreviations should not be used as unique 12111.1Schristosidentifiers for <abbr>UT</abbr> offsets as they are ambiguous in 12121.1Schristospractice. For example, in English-speaking North America 12131.20Schristos“<abbr>CST</abbr>” denotes 6 hours behind <abbr>UT</abbr>, 12141.1Schristosbut in China it denotes 8 hours ahead of <abbr>UT</abbr>, 12151.1Schristosand French-speaking North Americans prefer 12161.20Schristos“<abbr title="Heure Normale du Centre">HNC</abbr>” to 12171.20Schristos“<abbr>CST</abbr>”. The <code><abbr>tz</abbr></code> 12181.2Schristosdatabase contains English abbreviations for many timestamps; 12191.20Schristosunfortunately some of these abbreviations were merely the database maintainers’ 12201.1Schristosinventions, and these have been removed when possible.</li> 12211.1Schristos<li>Numeric time zone abbreviations typically count hours east of 12221.1Schristos<abbr>UT</abbr>, e.g., +09 for Japan and 12231.20Schristos−10 for Hawaii. However, <abbr>POSIX</abbr> proleptic 12241.17Schristos<code><abbr>TZ</abbr></code> settings use the opposite convention. 12251.1SchristosFor example, one might use <code><abbr>TZ</abbr>="<abbr 12261.1Schristostitle="Japan Standard Time">JST</abbr>-9"</code> and 12271.1Schristos<code><abbr>TZ</abbr>="<abbr title="Hawaii Standard Time">HST</abbr>10"</code> 12281.1Schristosfor Japan and Hawaii, respectively. If the 12291.1Schristos<code><abbr>tz</abbr></code> database is available, it is usually better to use 12301.1Schristossettings like <code><abbr>TZ</abbr>="Asia/Tokyo"</code> and 12311.1Schristos<code><abbr>TZ</abbr>="Pacific/Honolulu"</code> instead, as this should avoid 12321.2Schristosconfusion, handle old timestamps better, and insulate you better from 12331.1Schristosany future changes to the rules. One should never set 12341.1Schristos<abbr>POSIX</abbr> <code><abbr>TZ</abbr></code> to a value like 12351.1Schristos<code>"GMT-9"</code>, though, since this would incorrectly imply that 12361.1Schristoslocal time is nine hours ahead of <abbr>UT</abbr> and the time zone 12371.20Schristosis called “<abbr>GMT</abbr>”.</li> 12381.1Schristos</ul> 12391.6Schristos</section> 12401.6Schristos 12411.6Schristos<section> 12421.1Schristos<h2 id="see-also">See also</h2> 12431.1Schristos<ul> 12441.7Schristos<li><a href="theory.html">Theory and pragmatics of the 12451.7Schristos<code><abbr>tz</abbr></code> code and data</a></li> 12461.1Schristos<li><a href="tz-art.html">Time and the Arts</a></li> 12471.1Schristos</ul> 12481.6Schristos</section> 12491.6Schristos 12501.6Schristos<footer> 12511.1Schristos<hr> 12521.1SchristosThis web page is in the public domain, so clarified as of 12531.1Schristos2009-05-17 by Arthur David Olson. 12541.1Schristos<br> 12551.1SchristosPlease send corrections to this web page to the 12561.1Schristos<a href="mailto:tz@iana.org">time zone mailing list</a>. 12571.20SchristosThe mailing list and its archives are public, 12581.20Schristosso please do not send confidential information. 12591.6Schristos</footer> 12601.1Schristos</body> 12611.1Schristos</html> 1262