14616d0f9Sopenharmony_ci<!DOCTYPE html>
24616d0f9Sopenharmony_ci<html lang="en">
34616d0f9Sopenharmony_ci<head>
44616d0f9Sopenharmony_ci<title>Time zone and daylight saving time data</title>
54616d0f9Sopenharmony_ci<meta charset="UTF-8">
64616d0f9Sopenharmony_ci<style>
74616d0f9Sopenharmony_cipre {margin-left: 2em; white-space: pre-wrap;}
84616d0f9Sopenharmony_ci</style>
94616d0f9Sopenharmony_ci</head>
104616d0f9Sopenharmony_ci<body>
114616d0f9Sopenharmony_ci<h1>Time zone and daylight saving time data</h1>
124616d0f9Sopenharmony_ci<p>
134616d0f9Sopenharmony_ci<a href="https://en.wikipedia.org/wiki/Time_zone">Time zone</a> and
144616d0f9Sopenharmony_ci<a href="https://en.wikipedia.org/wiki/Daylight_saving_time">daylight-saving</a>
154616d0f9Sopenharmony_cirules are controlled by individual
164616d0f9Sopenharmony_cigovernments. They are sometimes changed with little notice, and their
174616d0f9Sopenharmony_cihistories and planned futures are often recorded only fitfully. Here
184616d0f9Sopenharmony_ciis a summary of attempts to organize and record relevant data in this
194616d0f9Sopenharmony_ciarea.
204616d0f9Sopenharmony_ci</p>
214616d0f9Sopenharmony_ci  <h3>Outline</h3>
224616d0f9Sopenharmony_ci  <nav>
234616d0f9Sopenharmony_ci    <ul>
244616d0f9Sopenharmony_ci      <li>The <code><abbr>tz</abbr></code> database product and process
254616d0f9Sopenharmony_ci	<ul>
264616d0f9Sopenharmony_ci	  <li><a href="#tzdb">The <code><abbr>tz</abbr></code> database</a></li>
274616d0f9Sopenharmony_ci	  <li><a href="#download">Downloading the <code><abbr>tz</abbr></code> database</a></li>
284616d0f9Sopenharmony_ci	  <li><a href="#changes">Changes to the <code><abbr>tz</abbr></code> database</a></li>
294616d0f9Sopenharmony_ci	  <li><a href="#coordinating">Coordinating with governments and distributors</a></li>
304616d0f9Sopenharmony_ci	  <li><a href="#commentary">Commentary on the <code><abbr>tz</abbr></code> database</a></li>
314616d0f9Sopenharmony_ci	</ul>
324616d0f9Sopenharmony_ci      </li>
334616d0f9Sopenharmony_ci      <li>Uses of the <code><abbr>tz</abbr></code> database
344616d0f9Sopenharmony_ci	<ul>
354616d0f9Sopenharmony_ci	  <li><a href="#web">Web sites using recent versions of the <code><abbr>tz</abbr></code> database</a></li>
364616d0f9Sopenharmony_ci	  <li><a href="#protocols">Network protocols for <code><abbr>tz</abbr></code> data</a></li>
374616d0f9Sopenharmony_ci	  <li><a href="#compilers">Other <code><abbr>tz</abbr></code> compilers</a></li>
384616d0f9Sopenharmony_ci	  <li><a href="#TZif">Other <abbr>TZif</abbr> readers</a></li>
394616d0f9Sopenharmony_ci	  <li><a href="#software">Other <code><abbr>tz</abbr></code>-based time zone software</a></li>
404616d0f9Sopenharmony_ci	</ul>
414616d0f9Sopenharmony_ci      </li>
424616d0f9Sopenharmony_ci      <li>Related data
434616d0f9Sopenharmony_ci	<ul>
444616d0f9Sopenharmony_ci	  <li><a href="#other-dbs">Other time zone databases</a></li>
454616d0f9Sopenharmony_ci	  <li><a href="#maps">Maps</a></li>
464616d0f9Sopenharmony_ci	  <li><a href="#boundaries">Time zone boundaries</a></li>
474616d0f9Sopenharmony_ci	</ul>
484616d0f9Sopenharmony_ci      </li>
494616d0f9Sopenharmony_ci      <li>Timekeeping concepts
504616d0f9Sopenharmony_ci	<ul>
514616d0f9Sopenharmony_ci	  <li><a href="#civil">Civil time concepts and history</a></li>
524616d0f9Sopenharmony_ci	  <li><a href="#national">National histories of legal time</a></li>
534616d0f9Sopenharmony_ci	  <li><a href="#costs">Costs and benefits of time shifts</a></li>
544616d0f9Sopenharmony_ci	  <li><a href="#precision">Precision timekeeping</a></li>
554616d0f9Sopenharmony_ci	  <li><a href="#notation">Time notation</a></li>
564616d0f9Sopenharmony_ci	</ul>
574616d0f9Sopenharmony_ci      </li>
584616d0f9Sopenharmony_ci      <li><a href="#see-also">See also</a></li>
594616d0f9Sopenharmony_ci    </ul>
604616d0f9Sopenharmony_ci  </nav>
614616d0f9Sopenharmony_ci
624616d0f9Sopenharmony_ci<section>
634616d0f9Sopenharmony_ci<h2 id="tzdb">The <code><abbr title="time zone">tz</abbr></code> database</h2>
644616d0f9Sopenharmony_ci<p>
654616d0f9Sopenharmony_ciThe <a href="https://en.wikipedia.org/wiki/Public_domain">public-domain</a>
664616d0f9Sopenharmony_citime zone database contains code and data
674616d0f9Sopenharmony_cithat represent the history of local time
684616d0f9Sopenharmony_cifor many representative locations around the globe.
694616d0f9Sopenharmony_ciIt is updated periodically to reflect changes made by political bodies
704616d0f9Sopenharmony_cito time zone boundaries and daylight saving rules.
714616d0f9Sopenharmony_ciThis database (known as <code><abbr>tz</abbr></code>,
724616d0f9Sopenharmony_ci<code><abbr>tzdb</abbr></code>, or <code>zoneinfo</code>)
734616d0f9Sopenharmony_ciis used by several implementations,
744616d0f9Sopenharmony_ciincluding
754616d0f9Sopenharmony_ci<a href="https://www.gnu.org/software/libc/">the
764616d0f9Sopenharmony_ci<abbr title="GNU's Not Unix">GNU</abbr>
774616d0f9Sopenharmony_ciC Library</a> (used in
784616d0f9Sopenharmony_ci<a href="https://en.wikipedia.org/wiki/Linux"><abbr>GNU</abbr>/Linux</a>),
794616d0f9Sopenharmony_ci<a href="https://www.android.com">Android</a>,
804616d0f9Sopenharmony_ci<a href="https://www.freebsd.org">Free<abbr
814616d0f9Sopenharmony_cititle="Berkeley Software Distribution">BSD</abbr></a>,
824616d0f9Sopenharmony_ci<a href="https://netbsd.org">Net<abbr>BSD</abbr></a>,
834616d0f9Sopenharmony_ci<a href="https://www.openbsd.org">Open<abbr>BSD</abbr></a>,
844616d0f9Sopenharmony_ci<a href="https://www.chromium.org/chromium-os/">Chromium OS</a>,
854616d0f9Sopenharmony_ci<a href="https://cygwin.com">Cygwin</a>,
864616d0f9Sopenharmony_ci<a href="https://mariadb.org">MariaDB</a>,
874616d0f9Sopenharmony_ci<a href="https://en.wikipedia.org/wiki/MINIX">MINIX</a>,
884616d0f9Sopenharmony_ci<a href="https://www.mysql.com">MySQL</a>,
894616d0f9Sopenharmony_ci<a href="https://en.wikipedia.org/wiki/WebOS"><abbr
904616d0f9Sopenharmony_cititle="Web Operating System">webOS</abbr></a>,
914616d0f9Sopenharmony_ci<a href="https://en.wikipedia.org/wiki/IBM_AIX"><abbr
924616d0f9Sopenharmony_cititle="Advanced Interactive eXecutive">AIX</abbr></a>,
934616d0f9Sopenharmony_ci<a href="https://www.apple.com/ios"><abbr
944616d0f9Sopenharmony_cititle="iPhone OS">iOS</abbr></a>,
954616d0f9Sopenharmony_ci<a href="https://www.apple.com/macos">macOS</a>,
964616d0f9Sopenharmony_ci<a href="https://www.microsoft.com/en-us/windows">Microsoft Windows</a>,
974616d0f9Sopenharmony_ci<a href="https://www.vmssoftware.com">Open<abbr
984616d0f9Sopenharmony_cititle="Virtual Memory System">VMS</abbr></a>,
994616d0f9Sopenharmony_ci<a href="https://www.oracle.com/database/">Oracle Database</a>, and
1004616d0f9Sopenharmony_ci<a href="https://www.oracle.com/solaris">Oracle Solaris</a>.</p>
1014616d0f9Sopenharmony_ci<p>
1024616d0f9Sopenharmony_ciEach main entry in the database represents a <dfn>timezone</dfn>
1034616d0f9Sopenharmony_cifor a set of civil-time clocks that have all agreed since 1970.
1044616d0f9Sopenharmony_ciTimezones are typically identified by continent or ocean and then by the
1054616d0f9Sopenharmony_ciname of the largest city within the region containing the clocks.
1064616d0f9Sopenharmony_ciFor example, <code>America/New_York</code>
1074616d0f9Sopenharmony_cirepresents most of the <abbr title="United States">US</abbr> eastern time zone;
1084616d0f9Sopenharmony_ci<code>America/Phoenix</code> represents most of Arizona, which
1094616d0f9Sopenharmony_ciuses mountain time without daylight saving time (<abbr>DST</abbr>);
1104616d0f9Sopenharmony_ci<code>America/Detroit</code> represents most of Michigan, which uses
1114616d0f9Sopenharmony_cieastern time but with different <abbr>DST</abbr> rules in 1975;
1124616d0f9Sopenharmony_ciand other entries represent smaller regions like Starke County,
1134616d0f9Sopenharmony_ciIndiana, which switched from central to eastern time in 1991
1144616d0f9Sopenharmony_ciand switched back in 2006.
1154616d0f9Sopenharmony_ciTo use the database on an extended <a
1164616d0f9Sopenharmony_cihref="https://en.wikipedia.org/wiki/POSIX"><abbr
1174616d0f9Sopenharmony_cititle="Portable Operating System Interface">POSIX</abbr>.1-2017</a>
1184616d0f9Sopenharmony_ciimplementation set the <code><abbr>TZ</abbr></code>
1194616d0f9Sopenharmony_cienvironment variable to the location's full name,
1204616d0f9Sopenharmony_cie.g., <code><abbr>TZ</abbr>="America/New_York"</code>.</p>
1214616d0f9Sopenharmony_ci<p>
1224616d0f9Sopenharmony_ciAssociated with each timezone is a history of offsets from
1234616d0f9Sopenharmony_ci<a href="https://en.wikipedia.org/wiki/Universal_Time">Universal
1244616d0f9Sopenharmony_ciTime</a> (<abbr>UT</abbr>), which is <a
1254616d0f9Sopenharmony_cihref="https://en.wikipedia.org/wiki/Greenwich_Mean_Time">Greenwich Mean
1264616d0f9Sopenharmony_ciTime</a> (<abbr>GMT</abbr>) with days beginning at midnight;
1274616d0f9Sopenharmony_cifor timestamps after 1960 this is more precisely <a
1284616d0f9Sopenharmony_cihref="https://en.wikipedia.org/wiki/Coordinated_Universal_Time">Coordinated
1294616d0f9Sopenharmony_ciUniversal Time</a> (<abbr>UTC</abbr>).
1304616d0f9Sopenharmony_ciThe database also records when daylight saving time was in use,
1314616d0f9Sopenharmony_cialong with some time zone abbreviations such as <abbr>EST</abbr>
1324616d0f9Sopenharmony_cifor Eastern Standard Time in the <abbr>US</abbr>.</p>
1334616d0f9Sopenharmony_ci</section>
1344616d0f9Sopenharmony_ci
1354616d0f9Sopenharmony_ci<section>
1364616d0f9Sopenharmony_ci<h2 id="download">Downloading the <code><abbr>tz</abbr></code> database</h2>
1374616d0f9Sopenharmony_ci<p>
1384616d0f9Sopenharmony_ciThe following <a
1394616d0f9Sopenharmony_cihref="https://en.wikipedia.org/wiki/Unix_shell">shell</a> commands download
1404616d0f9Sopenharmony_cithe latest release's two
1414616d0f9Sopenharmony_ci<a href="https://en.wikipedia.org/wiki/Tar_(computing)">tarballs</a>
1424616d0f9Sopenharmony_cito a <abbr>GNU</abbr>/Linux or similar host.</p>
1434616d0f9Sopenharmony_ci<pre><code>mkdir tzdb
1444616d0f9Sopenharmony_cicd tzdb
1454616d0f9Sopenharmony_ci<a href="https://www.gnu.org/software/wget/">wget</a> https://www.iana.org/time-zones/repository/tzcode-latest.tar.gz
1464616d0f9Sopenharmony_ciwget https://www.iana.org/time-zones/repository/tzdata-latest.tar.gz
1474616d0f9Sopenharmony_ci<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 -
1484616d0f9Sopenharmony_cigzip -dc tzdata-latest.tar.gz | tar -xf -
1494616d0f9Sopenharmony_ci</code></pre>
1504616d0f9Sopenharmony_ci<p>Alternatively, the following shell commands download the same
1514616d0f9Sopenharmony_cirelease in a single-tarball format containing extra data
1524616d0f9Sopenharmony_ciuseful for regression testing:</p>
1534616d0f9Sopenharmony_ci<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>
1544616d0f9Sopenharmony_ci<a href="https://www.nongnu.org/lzip/">lzip</a> -dc tzdb-latest.tar.lz | tar -xf -
1554616d0f9Sopenharmony_ci</code></pre>
1564616d0f9Sopenharmony_ci<p>These commands use convenience links to the latest release
1574616d0f9Sopenharmony_ciof the <code><abbr>tz</abbr></code> database hosted by the
1584616d0f9Sopenharmony_ci<a href="https://www.iana.org/time-zones">Time Zone Database website</a>
1594616d0f9Sopenharmony_ciof the <a href="https://www.iana.org">Internet Assigned Numbers
1604616d0f9Sopenharmony_ciAuthority (IANA)</a>.
1614616d0f9Sopenharmony_ciOlder releases are in files named
1624616d0f9Sopenharmony_ci<code>tzcode<var>V</var>.tar.gz</code>,
1634616d0f9Sopenharmony_ci<code>tzdata<var>V</var>.tar.gz</code>, and
1644616d0f9Sopenharmony_ci<code>tzdb-<var>V</var>.tar.lz</code>,
1654616d0f9Sopenharmony_ciwhere <code><var>V</var></code> is the version.
1664616d0f9Sopenharmony_ciSince 1996, each version has been a four-digit year followed by
1674616d0f9Sopenharmony_cilower-case letter (<samp>a</samp> through <samp>z</samp>,
1684616d0f9Sopenharmony_cithen <samp>za</samp> through <samp>zz</samp>, then <samp>zza</samp>
1694616d0f9Sopenharmony_cithrough <samp>zzz</samp>, and so on).
1704616d0f9Sopenharmony_ciSince version 2022a, each release has been distributed in
1714616d0f9Sopenharmony_ci<a href="https://pubs.opengroup.org/onlinepubs/9699919799/utilities/pax.html#tag_20_92_13_06">POSIX
1724616d0f9Sopenharmony_ciustar interchange format</a>, compressed as described above;
1734616d0f9Sopenharmony_ciolder releases use a nearly compatible format.
1744616d0f9Sopenharmony_ciSince version 2016h, each release has contained a text file named
1754616d0f9Sopenharmony_ci"<code>version</code>" whose first (and currently only) line is the version.
1764616d0f9Sopenharmony_ciOlder releases are <a href="https://ftp.iana.org/tz/releases/">archived</a>,
1774616d0f9Sopenharmony_ciand are also available in an
1784616d0f9Sopenharmony_ci<a href="ftp://ftp.iana.org/tz/releases/"><abbr
1794616d0f9Sopenharmony_cititle="File Transfer Protocol">FTP</abbr> directory</a> via a
1804616d0f9Sopenharmony_ciless secure protocol.</p>
1814616d0f9Sopenharmony_ci<p>Alternatively, a development repository of code and data can be
1824616d0f9Sopenharmony_ciretrieved from <a href="https://github.com">GitHub</a> via the shell
1834616d0f9Sopenharmony_cicommand:</p>
1844616d0f9Sopenharmony_ci<pre><code><a href="https://git-scm.com">git</a> clone <a href="https://github.com/eggert/tz">https://github.com/eggert/tz</a>
1854616d0f9Sopenharmony_ci</code></pre>
1864616d0f9Sopenharmony_ci<p>
1874616d0f9Sopenharmony_ciSince version 2012e, each release has been tagged in development repositories.
1884616d0f9Sopenharmony_ciUntagged commits are less well tested and probably contain
1894616d0f9Sopenharmony_cimore errors.</p>
1904616d0f9Sopenharmony_ci<p>
1914616d0f9Sopenharmony_ciAfter obtaining the code and data files, see the
1924616d0f9Sopenharmony_ci<code>README</code> file for what to do next.
1934616d0f9Sopenharmony_ciThe code lets you compile the <code><abbr>tz</abbr></code> source files into
1944616d0f9Sopenharmony_cimachine-readable binary files, one for each location. The binary files
1954616d0f9Sopenharmony_ciare in a special timezone information format (<dfn><abbr>TZif</abbr></dfn>)
1964616d0f9Sopenharmony_cispecified by <a href="https://datatracker.ietf.org/doc/html/8536">Internet
1974616d0f9Sopenharmony_ci<abbr>RFC</abbr> 8536</a>.
1984616d0f9Sopenharmony_ciThe code also lets
1994616d0f9Sopenharmony_ciyou read a <abbr>TZif</abbr> file and interpret timestamps for that
2004616d0f9Sopenharmony_cilocation.</p>
2014616d0f9Sopenharmony_ci</section>
2024616d0f9Sopenharmony_ci
2034616d0f9Sopenharmony_ci<section>
2044616d0f9Sopenharmony_ci<h2 id="changes">Changes to the <code><abbr>tz</abbr></code> database</h2>
2054616d0f9Sopenharmony_ci<p>
2064616d0f9Sopenharmony_ciThe <code><abbr>tz</abbr></code> code and data
2074616d0f9Sopenharmony_ciare by no means authoritative. If you find errors, please
2084616d0f9Sopenharmony_cisend changes to <a href="mailto:tz@iana.org"><code>tz@iana.org</code></a>,
2094616d0f9Sopenharmony_cithe time zone mailing list. You can also <a
2104616d0f9Sopenharmony_cihref="https://mm.icann.org/mailman/listinfo/tz">subscribe</a> to it
2114616d0f9Sopenharmony_ciand browse the <a
2124616d0f9Sopenharmony_cihref="https://mm.icann.org/pipermail/tz/">archive of old
2134616d0f9Sopenharmony_cimessages</a>.
2144616d0f9Sopenharmony_ci<a href="https://tzdata-meta.timtimeonline.com/">Metadata for mailing list
2154616d0f9Sopenharmony_cidiscussions</a> and corresponding data changes can be
2164616d0f9Sopenharmony_cigenerated <a href="https://github.com/timparenti/tzdata-meta">automatically</a>.
2174616d0f9Sopenharmony_ci</p>
2184616d0f9Sopenharmony_ci<p>
2194616d0f9Sopenharmony_ciChanges to the <code><abbr>tz</abbr></code> code and data are often
2204616d0f9Sopenharmony_cipropagated to clients via operating system updates, so
2214616d0f9Sopenharmony_ciclient <code><abbr>tz</abbr></code> data can often be corrected by
2224616d0f9Sopenharmony_ciapplying these updates. With GNU/Linux and similar systems, if your
2234616d0f9Sopenharmony_cimaintenance provider has not yet adopted the
2244616d0f9Sopenharmony_cilatest <code><abbr>tz</abbr></code> data, you can often short-circuit
2254616d0f9Sopenharmony_cithe process by tailoring the generic instructions in
2264616d0f9Sopenharmony_cithe <code><abbr>tz</abbr> README</code> file and installing the latest
2274616d0f9Sopenharmony_cidata yourself. System-specific instructions for installing the
2284616d0f9Sopenharmony_cilatest <code><abbr>tz</abbr></code> data have also been published
2294616d0f9Sopenharmony_cifor <a href="https://developer.ibm.com/articles/au-aix-olson-time-zone/"><abbr>AIX</abbr></a>,
2304616d0f9Sopenharmony_ci<a
2314616d0f9Sopenharmony_cihref="https://source.android.com/devices/tech/config/timezone-rules">Android</a>,
2324616d0f9Sopenharmony_ci<a
2334616d0f9Sopenharmony_cihref="https://unicode-org.github.io/icu/userguide/datetime/timezone/"><abbr
2344616d0f9Sopenharmony_cititle="International Components for Unicode">ICU</abbr></a>,
2354616d0f9Sopenharmony_ci<a href="https://www.ibm.com/support/pages/java-sdk-time-zone-update-utility"><abbr>IBM</abbr>
2364616d0f9Sopenharmony_ciJDK</a>,
2374616d0f9Sopenharmony_ci<a href="https://www.joda.org/joda-time/tz_update.html">Joda-Time</a>, <a
2384616d0f9Sopenharmony_cihref="https://dev.mysql.com/doc/refman/en/time-zone-support.html">MySQL</a>,
2394616d0f9Sopenharmony_ci<a href="https://nodatime.org/userguide/tzdb">Noda Time</a>, and <a
2404616d0f9Sopenharmony_cihref="https://www.oracle.com/java/technologies/javase/tzupdater-readme.html">OpenJDK/Oracle JDK</a>.
2414616d0f9Sopenharmony_ci</p>
2424616d0f9Sopenharmony_ci<p>Since version 2013a,
2434616d0f9Sopenharmony_cisources for the <code><abbr>tz</abbr></code> database have been
2444616d0f9Sopenharmony_ci<a href="https://en.wikipedia.org/wiki/UTF-8"><abbr
2454616d0f9Sopenharmony_cititle="Unicode Transformation Format 8-bit">UTF-8</abbr></a>
2464616d0f9Sopenharmony_ci<a href="https://en.wikipedia.org/wiki/Text_file">text files</a>
2474616d0f9Sopenharmony_ciwith lines terminated by <a href="https://en.wikipedia.org/wiki/Newline"><abbr
2484616d0f9Sopenharmony_cititle="linefeed">LF</abbr></a>,
2494616d0f9Sopenharmony_ciwhich can be modified by common text editors such
2504616d0f9Sopenharmony_cias <a href="https://www.gnu.org/software/emacs/">GNU Emacs</a>,
2514616d0f9Sopenharmony_ci<a href="https://wiki.gnome.org/Apps/Gedit">gedit</a>, and
2524616d0f9Sopenharmony_ci<a href="https://www.vim.org">vim</a>.
2534616d0f9Sopenharmony_ciSpecialized source-file editing can be done via the
2544616d0f9Sopenharmony_ci<a href="https://packagecontrol.io/packages/zoneinfo">Sublime
2554616d0f9Sopenharmony_cizoneinfo</a> package for <a
2564616d0f9Sopenharmony_cihref="https://www.sublimetext.com">Sublime Text</a> and the <a
2574616d0f9Sopenharmony_cihref="https://marketplace.visualstudio.com/items?itemName=gilmoreorless.vscode-zoneinfo">VSCode
2584616d0f9Sopenharmony_cizoneinfo</a> extension for <a href="https://code.visualstudio.com">Visual
2594616d0f9Sopenharmony_ciStudio Code</a>.
2604616d0f9Sopenharmony_ci</p>
2614616d0f9Sopenharmony_ci<p>
2624616d0f9Sopenharmony_ciFor further information about updates, please see
2634616d0f9Sopenharmony_ci<a href="https://datatracker.ietf.org/doc/html/rfc6557">Procedures for
2644616d0f9Sopenharmony_ciMaintaining the Time Zone Database</a> (Internet <abbr
2654616d0f9Sopenharmony_cititle="Request For Comments">RFC</abbr> 6557). More detail can be
2664616d0f9Sopenharmony_cifound in <a href="theory.html">Theory and pragmatics of the
2674616d0f9Sopenharmony_ci<code><abbr>tz</abbr></code> code and data</a>.
2684616d0f9Sopenharmony_ci<a href="https://a0.github.io/a0-tzmigration/">A0 TimeZone Migration</a>
2694616d0f9Sopenharmony_cidisplays changes between recent <code><abbr>tzdb</abbr></code> versions.
2704616d0f9Sopenharmony_ci</p>
2714616d0f9Sopenharmony_ci</section>
2724616d0f9Sopenharmony_ci
2734616d0f9Sopenharmony_ci<section>
2744616d0f9Sopenharmony_ci<h2 id="coordinating">Coordinating with governments and distributors</h2>
2754616d0f9Sopenharmony_ci<p>
2764616d0f9Sopenharmony_ciAs discussed in
2774616d0f9Sopenharmony_ci"<a href="https://www.icann.org/en/blogs/details/how-time-zones-are-coordinated-13-03-2023-en">How
2784616d0f9Sopenharmony_ciTime Zones Are Coordinated</a>", the time zone database relies on
2794616d0f9Sopenharmony_cicollaboration among governments, the time zone database volunteer
2804616d0f9Sopenharmony_cicommunity, and data distributors downstream.
2814616d0f9Sopenharmony_ci<p>
2824616d0f9Sopenharmony_ciIf your government plans to change its time zone boundaries or
2834616d0f9Sopenharmony_cidaylight saving rules, please send email to <a
2844616d0f9Sopenharmony_cihref="mailto:tz@iana.org"><code>tz@iana.org</code></a> well in advance,
2854616d0f9Sopenharmony_cias this will lessen confusion and will coordinate updates to many cell phones,
2864616d0f9Sopenharmony_cicomputers, and other devices around the world.
2874616d0f9Sopenharmony_ciIn your email, please cite the legislation or regulation that specifies
2884616d0f9Sopenharmony_cithe change, so that it can be checked for details such as the exact times
2894616d0f9Sopenharmony_ciwhen clock transitions occur.
2904616d0f9Sopenharmony_ciIt is OK if a rule change is planned to affect clocks
2914616d0f9Sopenharmony_cifar into the future, as a long-planned change can easily be reverted
2924616d0f9Sopenharmony_cior otherwise altered with a year's notice before the change would have
2934616d0f9Sopenharmony_ciaffected clocks.</p>
2944616d0f9Sopenharmony_ci<p>
2954616d0f9Sopenharmony_ciThere is no fixed schedule for <code><abbr>tzdb</abbr></code> releases.
2964616d0f9Sopenharmony_ciHowever, typically a release occurs every few months.
2974616d0f9Sopenharmony_ciMany downstream timezone data distributors wait for
2984616d0f9Sopenharmony_cia <code><abbr>tzdb</abbr></code> release before they produce an update
2994616d0f9Sopenharmony_cito time zone behavior in consumer devices and software products.
3004616d0f9Sopenharmony_ciAfter a release, various parties must integrate, test,
3014616d0f9Sopenharmony_ciand roll out an update before <a
3024616d0f9Sopenharmony_cihref="https://en.wikipedia.org/wiki/End_user">end users</a> see changes.
3034616d0f9Sopenharmony_ciThese updates can be expensive, for both the <a
3044616d0f9Sopenharmony_cihref="https://en.wikipedia.org/wiki/Quality_assurance">quality
3054616d0f9Sopenharmony_ciassurance</a> process and the overall cost of shipping and installing
3064616d0f9Sopenharmony_ciupdates to each device's copy of <code><abbr>tzdb</abbr></code>.
3074616d0f9Sopenharmony_ciUpdates may be batched with other updates and may take substantial
3084616d0f9Sopenharmony_citime to reach end users after a release.
3094616d0f9Sopenharmony_ciOlder devices may no longer be supported and thus may never be updated,
3104616d0f9Sopenharmony_ciwhich means they will continue to use out-of-date rules.</p>
3114616d0f9Sopenharmony_ci<p>
3124616d0f9Sopenharmony_ciFor these reasons any rule change should be promulgated at least a
3134616d0f9Sopenharmony_ciyear before it affects how clocks operate; otherwise, there is a good
3144616d0f9Sopenharmony_cichance that many clocks will be wrong due to delays in propagating updates,
3154616d0f9Sopenharmony_ciand that residents will be confused or even actively resist the change.
3164616d0f9Sopenharmony_ciThe shorter the notice, the more likely clock problems will arise; see "<a
3174616d0f9Sopenharmony_cihref="https://codeofmatt.com/2016/04/23/on-the-timing-of-time-zone-changes/">On
3184616d0f9Sopenharmony_cithe Timing of Time Zone Changes</a>" for examples.
3194616d0f9Sopenharmony_ci</p>
3204616d0f9Sopenharmony_ci</section>
3214616d0f9Sopenharmony_ci
3224616d0f9Sopenharmony_ci<section>
3234616d0f9Sopenharmony_ci<h2 id="commentary">Commentary on the <code><abbr>tz</abbr></code> database</h2>
3244616d0f9Sopenharmony_ci<ul>
3254616d0f9Sopenharmony_ci<li>The article
3264616d0f9Sopenharmony_ci<a href="https://en.wikipedia.org/wiki/Tz_database">tz database</a> is
3274616d0f9Sopenharmony_cian encyclopedic summary.</li>
3284616d0f9Sopenharmony_ci<li><a href="tz-how-to.html">How to Read the
3294616d0f9Sopenharmony_citz Database Source Files</a> explains the <code><abbr>tz</abbr></code>
3304616d0f9Sopenharmony_cidatabase format.</li>
3314616d0f9Sopenharmony_ci<li><a
3324616d0f9Sopenharmony_cihref="https://blog.jonudell.net/2009/10/23/a-literary-appreciation-of-the-olsonzoneinfotz-database/">A
3334616d0f9Sopenharmony_ciliterary appreciation of the Olson/Zoneinfo/tz database</a> comments on the
3344616d0f9Sopenharmony_cidatabase's style.</li>
3354616d0f9Sopenharmony_ci<li><a href="https://doi.org/10.1145/3340301.3341125">What time is it:
3364616d0f9Sopenharmony_cimanaging time in the internet</a> analyzes the database longitudinally.</li>
3374616d0f9Sopenharmony_ci</ul>
3384616d0f9Sopenharmony_ci</section>
3394616d0f9Sopenharmony_ci
3404616d0f9Sopenharmony_ci<section>
3414616d0f9Sopenharmony_ci<h2 id="web">Web sites using recent versions of the
3424616d0f9Sopenharmony_ci<code><abbr>tz</abbr></code> database</h2>
3434616d0f9Sopenharmony_ci<p>
3444616d0f9Sopenharmony_ciThese are listed roughly in ascending order of complexity and fanciness.
3454616d0f9Sopenharmony_ci</p>
3464616d0f9Sopenharmony_ci<ul>
3474616d0f9Sopenharmony_ci<li><a href="https://time.is">Time.is</a> shows locations'
3484616d0f9Sopenharmony_citime and zones.</li>
3494616d0f9Sopenharmony_ci<li><a href="https://www.timejones.com">TimeJones.com</a>,
3504616d0f9Sopenharmony_ci<a href="https://timezoneconverterapp.com">Time Zone Converter</a> and
3514616d0f9Sopenharmony_ci<a href="https://www.worldclock.com">The World Clock</a>
3524616d0f9Sopenharmony_ciare time zone converters.</li>
3534616d0f9Sopenharmony_ci<li><a href="https://timezonedb.com/download">TimeZoneDB Database</a>
3544616d0f9Sopenharmony_cipublishes <code><abbr>tzdb</abbr></code>-derived data in
3554616d0f9Sopenharmony_ci<a href="https://en.wikipedia.org/wiki/Comma-separated_values"><abbr
3564616d0f9Sopenharmony_cititle="comma-separated values">CSV</abbr></a> and
3574616d0f9Sopenharmony_ciin <a href="https://en.wikipedia.org/wiki/SQL"><abbr
3584616d0f9Sopenharmony_cititle="Structured Query Language">SQL</abbr></a> form.</li>
3594616d0f9Sopenharmony_ci<li><a
3604616d0f9Sopenharmony_cihref="https://twiki.org/cgi-bin/xtra/tzdatepick.html">Date and Time Gateway</a>
3614616d0f9Sopenharmony_cilets you see the <code><abbr>TZ</abbr></code> values directly.</li>
3624616d0f9Sopenharmony_ci<li><a
3634616d0f9Sopenharmony_cihref="https://www.convertit.com/Go/ConvertIt/World_Time/Current_Time.ASP">Current
3644616d0f9Sopenharmony_ciTime in 1000 Places</a> uses descriptions of the values.</li>
3654616d0f9Sopenharmony_ci<li><a href="https://www.timeanddate.com/worldclock/">The World Clock &ndash;
3664616d0f9Sopenharmony_ciWorldwide</a> lets you sort zone names and convert times.</li>
3674616d0f9Sopenharmony_ci<li><a href="https://24timezones.com">24TimeZones</a> has a world
3684616d0f9Sopenharmony_citime map and a time converter.</li>
3694616d0f9Sopenharmony_ci<li><a href="https://www.zeitverschiebung.net/en/">Time Difference</a>
3704616d0f9Sopenharmony_cicalculates the current time difference between locations.</li>
3714616d0f9Sopenharmony_ci<li><a href="https://www.wx-now.com">Weather Now</a> and
3724616d0f9Sopenharmony_ci<a href="https://www.thetimenow.com">The Time Now</a> list the weather too.</li>
3734616d0f9Sopenharmony_ci</ul>
3744616d0f9Sopenharmony_ci</section>
3754616d0f9Sopenharmony_ci
3764616d0f9Sopenharmony_ci<section>
3774616d0f9Sopenharmony_ci<h2 id="protocols">Network protocols for <code><abbr>tz</abbr></code> data</h2>
3784616d0f9Sopenharmony_ci<ul>
3794616d0f9Sopenharmony_ci<li>The <a href="https://www.ietf.org">Internet Engineering Task Force</a>'s
3804616d0f9Sopenharmony_ci<a href="https://datatracker.ietf.org/wg/tzdist/charter/">Time Zone Data
3814616d0f9Sopenharmony_ciDistribution Service (tzdist) working group</a> defined <a
3824616d0f9Sopenharmony_cihref="https://datatracker.ietf.org/doc/html/rfc7808">TZDIST</a>
3834616d0f9Sopenharmony_ci(Internet <abbr>RFC</abbr> 7808), a time zone data distribution service,
3844616d0f9Sopenharmony_cialong with <a href="https://datatracker.ietf.org/doc/html/rfc7809">CalDAV</a>
3854616d0f9Sopenharmony_ci(Internet <abbr>RFC</abbr> 7809), a calendar access protocol for
3864616d0f9Sopenharmony_citransferring time zone data by reference.
3874616d0f9Sopenharmony_ci<a href="https://devguide.calconnect.org/Time-Zones/TZDS/">TZDIST
3884616d0f9Sopenharmony_ciimplementations</a> are available.
3894616d0f9Sopenharmony_ciThe <a href="https://www.ietf.org/mailman/listinfo/tzdist-bis">tzdist-bis
3904616d0f9Sopenharmony_cimailing list</a> discusses possible extensions.</li>
3914616d0f9Sopenharmony_ci<li>The <a href="https://datatracker.ietf.org/doc/html/rfc5545">
3924616d0f9Sopenharmony_ciInternet Calendaring and Scheduling Core Object Specification
3934616d0f9Sopenharmony_ci(iCalendar)</a> (Internet <abbr>RFC</abbr> 5445)
3944616d0f9Sopenharmony_cicovers time zone
3954616d0f9Sopenharmony_cidata; see its VTIMEZONE calendar component.
3964616d0f9Sopenharmony_ciThe iCalendar format requires specialized parsers and generators; a
3974616d0f9Sopenharmony_civariant <a href="https://datatracker.ietf.org/doc/html/rfc6321">xCal</a>
3984616d0f9Sopenharmony_ci(Internet <abbr>RFC</abbr> 6321) uses
3994616d0f9Sopenharmony_ci<a href="https://www.w3.org/XML/"><abbr
4004616d0f9Sopenharmony_cititle="Extensible Markup Language">XML</abbr></a> format, and a variant
4014616d0f9Sopenharmony_ci<a href="https://datatracker.ietf.org/doc/html/rfc7265">jCal</a>
4024616d0f9Sopenharmony_ci(Internet <abbr>RFC</abbr> 7265)
4034616d0f9Sopenharmony_ciuses <a href="https://www.json.org"><abbr
4044616d0f9Sopenharmony_cititle="JavaScript Object Notation">JSON</abbr></a> format.</li>
4054616d0f9Sopenharmony_ci</ul>
4064616d0f9Sopenharmony_ci</section>
4074616d0f9Sopenharmony_ci
4084616d0f9Sopenharmony_ci<section>
4094616d0f9Sopenharmony_ci<h2 id="compilers">Other <code><abbr>tz</abbr></code> compilers</h2>
4104616d0f9Sopenharmony_ci<p>Although some of these do not fully support
4114616d0f9Sopenharmony_ci<code><abbr>tz</abbr></code> data, in recent <code><abbr>tzdb</abbr></code>
4124616d0f9Sopenharmony_cidistributions you can generally work around compatibility problems by
4134616d0f9Sopenharmony_cirunning the command <code>make rearguard_tarballs</code> and compiling
4144616d0f9Sopenharmony_cifrom the resulting tarballs instead.</p>
4154616d0f9Sopenharmony_ci<ul>
4164616d0f9Sopenharmony_ci<li><a href="https://sourceforge.net/projects/vzic/">Vzic</a> is a <a
4174616d0f9Sopenharmony_cihref="https://en.wikipedia.org/wiki/C_(programming_language)">C</a>
4184616d0f9Sopenharmony_ciprogram that compiles
4194616d0f9Sopenharmony_ci<code><abbr>tz</abbr></code> source into iCalendar-compatible VTIMEZONE files.
4204616d0f9Sopenharmony_ciVzic is freely
4214616d0f9Sopenharmony_ciavailable under the <a
4224616d0f9Sopenharmony_cihref="https://www.gnu.org/copyleft/gpl.html"><abbr>GNU</abbr>
4234616d0f9Sopenharmony_ciGeneral Public License (<abbr
4244616d0f9Sopenharmony_cititle="General Public License">GPL</abbr>)</a>.</li>
4254616d0f9Sopenharmony_ci<li><a href="https://sourceforge.net/projects/tzical/">tziCal &ndash; tz
4264616d0f9Sopenharmony_cidatabase conversion utility</a> is like Vzic, except for the <a
4274616d0f9Sopenharmony_cihref="https://dotnet.microsoft.com">.NET framework</a>
4284616d0f9Sopenharmony_ciand with a <abbr>BSD</abbr>-style license.</li>
4294616d0f9Sopenharmony_ci<li><a
4304616d0f9Sopenharmony_cihref="https://metacpan.org/release/DateTime-TimeZone">DateTime::TimeZone</a>
4314616d0f9Sopenharmony_cicontains a script <code>parse_olson</code> that compiles
4324616d0f9Sopenharmony_ci<code><abbr>tz</abbr></code> source into <a href="https://www.perl.org">Perl</a>
4334616d0f9Sopenharmony_cimodules. It is part of the Perl <a
4344616d0f9Sopenharmony_cihref="https://github.com/houseabsolute/DateTime.pm/wiki">DateTime Project</a>,
4354616d0f9Sopenharmony_ciwhich is freely
4364616d0f9Sopenharmony_ciavailable under both the <abbr>GPL</abbr> and the Perl Artistic
4374616d0f9Sopenharmony_ciLicense. DateTime::TimeZone also contains a script
4384616d0f9Sopenharmony_ci<code>tests_from_zdump</code> that generates test cases for each clock
4394616d0f9Sopenharmony_citransition in the <code><abbr>tz</abbr></code> database.</li>
4404616d0f9Sopenharmony_ci<li>The <a href="https://howardhinnant.github.io/date/tz.html">Time Zone
4414616d0f9Sopenharmony_ciDatabase Parser</a> is a
4424616d0f9Sopenharmony_ci<a href="https://en.wikipedia.org/wiki/C++">C++</a> parser and
4434616d0f9Sopenharmony_ciruntime library with <a
4444616d0f9Sopenharmony_cihref="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0355r7.html">API</a>
4454616d0f9Sopenharmony_ciadopted by
4464616d0f9Sopenharmony_ci<a href="https://en.wikipedia.org/wiki/C++20">C++20</a>,
4474616d0f9Sopenharmony_cithe current iteration of the C++ standard.
4484616d0f9Sopenharmony_ciIt is freely available under the
4494616d0f9Sopenharmony_ci<abbr title="Massachusetts Institute of Technology">MIT</abbr> license.</li>
4504616d0f9Sopenharmony_ci<li><a id="ICU" href="https://icu.unicode.org">International Components for
4514616d0f9Sopenharmony_ciUnicode (<abbr>ICU</abbr>)</a> contains C/C++ and <a
4524616d0f9Sopenharmony_cihref="https://en.wikipedia.org/wiki/Java_(programming_language)">Java</a>
4534616d0f9Sopenharmony_cilibraries for internationalization that
4544616d0f9Sopenharmony_cihas a compiler from <code><abbr>tz</abbr></code> source
4554616d0f9Sopenharmony_ciand from <abbr title="Common Locale Data Repository">CLDR</abbr> data
4564616d0f9Sopenharmony_ci(mentioned <a href="#CLDR">below</a>)
4574616d0f9Sopenharmony_ciinto an <abbr>ICU</abbr>-specific format.
4584616d0f9Sopenharmony_ci<abbr>ICU</abbr> is freely available under a
4594616d0f9Sopenharmony_ci<abbr>BSD</abbr>-style license.</li>
4604616d0f9Sopenharmony_ci<li>The <a href="https://github.com/lau/tzdata">Tzdata</a> package for
4614616d0f9Sopenharmony_cithe <a href="https://elixir-lang.org">Elixir</a> language downloads
4624616d0f9Sopenharmony_ciand compiles <code><abbr>tz</abbr></code> source and exposes <abbr
4634616d0f9Sopenharmony_cititle="Application Program Interface">API</abbr>s for use. It is
4644616d0f9Sopenharmony_cifreely available under the <abbr>MIT</abbr> license.</li>
4654616d0f9Sopenharmony_ci<li>Java-based compilers and libraries include:
4664616d0f9Sopenharmony_ci<ul>
4674616d0f9Sopenharmony_ci<li>The <a
4684616d0f9Sopenharmony_cihref="https://www.oracle.com/java/technologies/javase/tzupdater-readme.html">TZUpdater
4694616d0f9Sopenharmony_citool</a> compiles <code><abbr>tz</abbr></code> source into the format used by
4704616d0f9Sopenharmony_ci<a href="https://openjdk.java.net/">OpenJDK</a> and
4714616d0f9Sopenharmony_ci<a href="https://jdk.java.net/">Oracle JDK</a>.
4724616d0f9Sopenharmony_ciAlthough its source code is proprietary, its executable is available under the
4734616d0f9Sopenharmony_ci<a href="https://www.oracle.com/a/tech/docs/tzupdater-lic.html">Java SE
4744616d0f9Sopenharmony_ciTimezone Updater License Agreement</a>.</li>
4754616d0f9Sopenharmony_ci<li>The <a
4764616d0f9Sopenharmony_cihref="https://www.oracle.com/technetwork/articles/java/jf14-date-time-2125367.html">Java
4774616d0f9Sopenharmony_ciSE 8 Date and Time</a> <abbr>API</abbr> can be supplemented by <a
4784616d0f9Sopenharmony_cihref="https://www.threeten.org/threeten-extra/">ThreeTen-Extra</a>,
4794616d0f9Sopenharmony_ciwhich is freely available under a <abbr>BSD</abbr>-style license.</li>
4804616d0f9Sopenharmony_ci<li><a href="https://www.joda.org/joda-time/">Joda-Time &ndash; Java date
4814616d0f9Sopenharmony_ciand time <abbr>API</abbr></a> contains a class
4824616d0f9Sopenharmony_ci<code>org.joda.time.tz.ZoneInfoCompiler</code> that compiles
4834616d0f9Sopenharmony_ci<code><abbr>tz</abbr></code> source into a binary format. It inspired
4844616d0f9Sopenharmony_ciJava 8 <code>java.time</code>, which its users should migrate to once
4854616d0f9Sopenharmony_cithey can assume Java 8 or later. It is available under the <a
4864616d0f9Sopenharmony_cihref="https://www.apache.org/licenses/LICENSE-2.0">Apache License</a>.</li>
4874616d0f9Sopenharmony_ci<li><a href="https://bell-sw.com/pages/iana-updater/">IANA Updater</a> and <a
4884616d0f9Sopenharmony_cihref="https://www.azul.com/products/open-source-tools/ziupdater-time-zone-tool/">ZIUpdater</a>
4894616d0f9Sopenharmony_ciare alternatives to TZUpdater. IANA Updater's license is unclear;
4904616d0f9Sopenharmony_ciZIUpdater is licensed under the <abbr>GPL</abbr>.</li>
4914616d0f9Sopenharmony_ci<li><a href="https://github.com/MenoData/Time4A">Time4A: Advanced date and
4924616d0f9Sopenharmony_citime library for Android</a> and
4934616d0f9Sopenharmony_ci<a href="https://github.com/MenoData/Time4J/">Time4J: Advanced date,
4944616d0f9Sopenharmony_citime and interval library for Java</a> compile
4954616d0f9Sopenharmony_ci<code><abbr>tz</abbr></code> source into a binary format.
4964616d0f9Sopenharmony_ciTime4A is available under the Apache License and Time4J is
4974616d0f9Sopenharmony_ciavailable under the <a
4984616d0f9Sopenharmony_cihref="https://www.gnu.org/copyleft/lesser.html"><abbr>GNU</abbr> Lesser
4994616d0f9Sopenharmony_ciGeneral Public License (<abbr title="Lesser General Public
5004616d0f9Sopenharmony_ciLicense">LGPL</abbr>)</a>.</li>
5014616d0f9Sopenharmony_ci<li><abbr>ICU</abbr> (mentioned <a href="#ICU">above</a>) contains compilers and
5024616d0f9Sopenharmony_ciJava-based libraries.</li>
5034616d0f9Sopenharmony_ci</ul>
5044616d0f9Sopenharmony_ci<li><a href="https://nodatime.org">Noda Time &ndash; Date and
5054616d0f9Sopenharmony_citime <abbr>API</abbr> for .NET</a>
5064616d0f9Sopenharmony_ciis like Joda-Time and Time4J, but for the .NET framework instead of Java.
5074616d0f9Sopenharmony_ciIt is freely available under the Apache License.</li>
5084616d0f9Sopenharmony_ci<li>Many modern
5094616d0f9Sopenharmony_ci<a href="https://en.wikipedia.org/wiki/JavaScript">JavaScript</a>
5104616d0f9Sopenharmony_ciruntimes support <code><abbr>tz</abbr></code> natively via the
5114616d0f9Sopenharmony_ci<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>.
5124616d0f9Sopenharmony_ciThis can be used as-is or with most of the following libraries,
5134616d0f9Sopenharmony_cimany of which also support runtimes lacking the <code>timeZone</code> option.
5144616d0f9Sopenharmony_ci<ul>
5154616d0f9Sopenharmony_ci<li>The <a
5164616d0f9Sopenharmony_cihref="https://github.com/formatjs/date-time-format-timezone"><code>Intl.DateTimeFormat</code>
5174616d0f9Sopenharmony_citimezone polyfill</a>
5184616d0f9Sopenharmony_ciis freely available under a <abbr>BSD</abbr>-style license.</li>
5194616d0f9Sopenharmony_ci<li>The <a href="https://date-fns.org/">date-fns</a>
5204616d0f9Sopenharmony_cilibrary manipulates timezone-aware timestamps in browsers and
5214616d0f9Sopenharmony_ciin <a href="https://nodejs.org/en/">Node.js</a>.
5224616d0f9Sopenharmony_ciIt is freely available under the <abbr>MIT</abbr> license.</li>
5234616d0f9Sopenharmony_ci<li><a href="https://github.com/iamkun/dayjs">Day.js</a> is a
5244616d0f9Sopenharmony_ciminimalist replacement for the date and time API of
5254616d0f9Sopenharmony_cithe <a href="https://momentjs.com/docs/">now-legacy Moment.js</a> date
5264616d0f9Sopenharmony_cimanipulation library.
5274616d0f9Sopenharmony_ciIt is freely available under the <abbr>MIT</abbr> license.</li>
5284616d0f9Sopenharmony_ci<li><a href="https://moment.github.io/luxon/">Luxon</a> improves
5294616d0f9Sopenharmony_citimezone support for the <code>Intl</code> API.
5304616d0f9Sopenharmony_ciIt is freely available under the <abbr>MIT</abbr> license.</li>
5314616d0f9Sopenharmony_ci<li><a href="https://momentjs.com/timezone/">Moment Timezone</a> is a
5324616d0f9Sopenharmony_ciMoment.js plugin.
5334616d0f9Sopenharmony_ciIt is freely available under the <abbr>MIT</abbr> license.</li>
5344616d0f9Sopenharmony_ci<li><a href="https://github.com/bigeasy/timezone">Timezone</a> is a
5354616d0f9Sopenharmony_ciJavaScript library that supports date arithmetic that is time zone
5364616d0f9Sopenharmony_ciaware. It is freely available under the <abbr>MIT</abbr> license.</li>
5374616d0f9Sopenharmony_ci<li><a href="https://www.npmjs.com/package/@tubular/time">@tubular/time</a>
5384616d0f9Sopenharmony_cisupports live <code><abbr>tzdb</abbr></code> updates,
5394616d0f9Sopenharmony_ciastronomical and atomic time, a command-line interface,
5404616d0f9Sopenharmony_ciand full <a
5414616d0f9Sopenharmony_cihref="https://en.wikipedia.org/wiki/TypeScript">TypeScript</a>.
5424616d0f9Sopenharmony_ciIts companion <a
5434616d0f9Sopenharmony_cihref="https://www.npmjs.com/package/@tubular/time-tzdb">@tubular/time-tzdb</a>
5444616d0f9Sopenharmony_cican generate <abbr>TZif</abbr> and other files, and a companion website
5454616d0f9Sopenharmony_ci<a href="https://tzexplorer.org">Timezone Database Explorer</a> lets you
5464616d0f9Sopenharmony_ciconvert timestamps, view transition histories, and download code and data.
5474616d0f9Sopenharmony_ciIt is freely available under the <abbr>MIT</abbr> license.</li>
5484616d0f9Sopenharmony_ci</ul>
5494616d0f9Sopenharmony_ciThe proposed <a
5504616d0f9Sopenharmony_cihref="https://github.com/tc39/proposal-temporal"><code>Temporal</code>
5514616d0f9Sopenharmony_ciobjects</a> let programs access an abstract view of
5524616d0f9Sopenharmony_ci<code><abbr>tzdb</abbr></code> data, and are designed to replace <a
5534616d0f9Sopenharmony_cihref="https://codeofmatt.com/javascript-date-type-is-horribly-broken/">JavaScript's
5544616d0f9Sopenharmony_ciproblematic <code>Date</code> objects</a> when working with dates and times.
5554616d0f9Sopenharmony_ci<li><a href="https://github.com/JuliaTime/">JuliaTime</a> contains a
5564616d0f9Sopenharmony_cicompiler from <code><abbr>tz</abbr></code> source into
5574616d0f9Sopenharmony_ci<a href="https://julialang.org/">Julia</a>. It is freely available
5584616d0f9Sopenharmony_ciunder the <abbr>MIT</abbr> license.</li>
5594616d0f9Sopenharmony_ci<li><a href="https://github.com/pavkam/tzdb"><abbr>TZDB</abbr> &ndash;
5604616d0f9Sopenharmony_ci<abbr>IANA</abbr> Time Zone Database for Delphi/<abbr
5614616d0f9Sopenharmony_cititle="Free Pascal Compiler">FPC</abbr></a>
5624616d0f9Sopenharmony_cicompiles from <code><abbr>tz</abbr></code> source into
5634616d0f9Sopenharmony_ci<a href="https://en.wikipedia.org/wiki/Object_Pascal">Object Pascal</a>
5644616d0f9Sopenharmony_cias compiled by <a href="https://en.wikipedia.org/wiki/Delphi_(IDE)">Delphi</a>
5654616d0f9Sopenharmony_ciand <a
5664616d0f9Sopenharmony_cihref="https://en.wikipedia.org/wiki/Free_Pascal"><abbr>FPC</abbr></a>.
5674616d0f9Sopenharmony_ciIt is freely available under a <abbr>BSD</abbr>-style license.</li>
5684616d0f9Sopenharmony_ci<li><a href="http://pytz.sourceforge.net">pytz &ndash; World Timezone
5694616d0f9Sopenharmony_ciDefinitions for Python</a> compiles <code><abbr>tz</abbr></code> source into
5704616d0f9Sopenharmony_ci<a href="https://www.python.org">Python</a>.
5714616d0f9Sopenharmony_ciIt is freely available under a <abbr>BSD</abbr>-style license.
5724616d0f9Sopenharmony_ciIn code that can assume Python 3.6 or later it is largely superseded; see <a
5734616d0f9Sopenharmony_cihref="https://blog.ganssle.io/articles/2018/03/pytz-fastest-footgun.html">pytz:
5744616d0f9Sopenharmony_ciThe Fastest Footgun in the West</a>.</li>
5754616d0f9Sopenharmony_ci<li><a href="https://tzinfo.github.io">TZInfo &ndash;
5764616d0f9Sopenharmony_ciRuby Timezone Library</a>
5774616d0f9Sopenharmony_cicompiles <code><abbr>tz</abbr></code> source into
5784616d0f9Sopenharmony_ci<a href="https://www.ruby-lang.org/en/">Ruby</a>.
5794616d0f9Sopenharmony_ciIt is freely available under the <abbr>MIT</abbr> license.</li>
5804616d0f9Sopenharmony_ci<li>The <a href="https://www.squeaksource.com/Chronos/">Chronos Date/Time
5814616d0f9Sopenharmony_ciLibrary</a> is
5824616d0f9Sopenharmony_cia <a href="https://en.wikipedia.org/wiki/Smalltalk">Smalltalk</a> class
5834616d0f9Sopenharmony_cilibrary that compiles <code><abbr>tz</abbr></code> source into a time
5844616d0f9Sopenharmony_cizone repository whose format
5854616d0f9Sopenharmony_ciis either proprietary or an <abbr>XML</abbr>-encoded
5864616d0f9Sopenharmony_cirepresentation.</li>
5874616d0f9Sopenharmony_ci<li><a id="Tcl" href="https://tcl.tk">Tcl</a>
5884616d0f9Sopenharmony_cicontains a developer-oriented parser that compiles <code><abbr>tz</abbr></code>
5894616d0f9Sopenharmony_cisource into text files, along with a runtime that can read those
5904616d0f9Sopenharmony_cifiles. Tcl is freely available under a <abbr>BSD</abbr>-style
5914616d0f9Sopenharmony_cilicense.</li>
5924616d0f9Sopenharmony_ci</ul>
5934616d0f9Sopenharmony_ci</section>
5944616d0f9Sopenharmony_ci
5954616d0f9Sopenharmony_ci<section>
5964616d0f9Sopenharmony_ci<h2 id="TZif">Other <abbr>TZif</abbr> readers</h2>
5974616d0f9Sopenharmony_ci<ul>
5984616d0f9Sopenharmony_ci<li>The <a
5994616d0f9Sopenharmony_cihref="https://www.gnu.org/software/libc/"><abbr>GNU</abbr> C
6004616d0f9Sopenharmony_ciLibrary</a>
6014616d0f9Sopenharmony_cihas an independent, thread-safe implementation of
6024616d0f9Sopenharmony_cia <abbr>TZif</abbr> file reader.
6034616d0f9Sopenharmony_ciThis library is freely available under the LGPL
6044616d0f9Sopenharmony_ciand is widely used in <abbr>GNU</abbr>/Linux systems.</li>
6054616d0f9Sopenharmony_ci<li><a href="https://www.gnome.org">GNOME</a>'s
6064616d0f9Sopenharmony_ci<a href="https://developer.gnome.org/glib/">GLib</a> has
6074616d0f9Sopenharmony_cia <abbr>TZif</abbr> file reader written in C that
6084616d0f9Sopenharmony_cicreates a <code>GTimeZone</code> object representing sets
6094616d0f9Sopenharmony_ciof <abbr>UT</abbr> offsets.
6104616d0f9Sopenharmony_ciIt is freely available under the <abbr>LGPL</abbr>.</li>
6114616d0f9Sopenharmony_ci<li>The
6124616d0f9Sopenharmony_ci<a href="https://github.com/bloomberg/bde/wiki">BDE Standard Library</a>'s
6134616d0f9Sopenharmony_ci<code>baltzo::TimeZoneUtil</code> component contains a C++
6144616d0f9Sopenharmony_ciimplementation of a <abbr>TZif</abbr> file reader. It is freely available under
6154616d0f9Sopenharmony_cithe Apache License.</li>
6164616d0f9Sopenharmony_ci<li><a href="https://github.com/google/cctz">CCTZ</a> is a simple C++
6174616d0f9Sopenharmony_cilibrary that translates between <abbr>UT</abbr> and civil time and
6184616d0f9Sopenharmony_cican read <abbr>TZif</abbr> files. It is freely available under the Apache
6194616d0f9Sopenharmony_ciLicense.</li>
6204616d0f9Sopenharmony_ci<li>The
6214616d0f9Sopenharmony_ci<a href="https://github.com/nayarsystems/posix_tz_db"><code>posix_tz_db</code>
6224616d0f9Sopenharmony_cipackage</a> contains Python code
6234616d0f9Sopenharmony_cito generate <abbr>CSV</abbr> and <abbr>JSON</abbr> tables that map
6244616d0f9Sopenharmony_ci<code><abbr>tz</abbr></code> settings to POSIX.1-2017-like approximations.
6254616d0f9Sopenharmony_ciFor example, it maps <code>"Africa/Cairo"</code>
6264616d0f9Sopenharmony_cito <code>"EET-2EEST,M4.5.5/0,M10.5.4/24"</code>,
6274616d0f9Sopenharmony_cian approximation valid for Cairo timestamps from 2023 on.
6284616d0f9Sopenharmony_ciThis can help porting to platforms that support only POSIX.1-2017.
6294616d0f9Sopenharmony_ciThe package is freely available under the MIT license.</li>
6304616d0f9Sopenharmony_ci<li><a href="https://github.com/derickr/timelib">Timelib</a> is a C
6314616d0f9Sopenharmony_cilibrary that reads <abbr>TZif</abbr> files and converts
6324616d0f9Sopenharmony_citimestamps from one time zone or format to another.
6334616d0f9Sopenharmony_ciIt is used by <a href="https://secure.php.net"><abbr
6344616d0f9Sopenharmony_cititle="PHP: Hypertext Preprocessor">PHP</abbr></a>,
6354616d0f9Sopenharmony_ci<a href="https://hhvm.com"><abbr title="HipHop Virtual Machine">HHVM</abbr></a>,
6364616d0f9Sopenharmony_ciand <a href="https://www.mongodb.com">MongoDB</a>.
6374616d0f9Sopenharmony_ciIt is freely available under the <abbr>MIT</abbr> license.</li>
6384616d0f9Sopenharmony_ci<li>Tcl, mentioned <a href="#Tcl">above</a>, also contains a
6394616d0f9Sopenharmony_ci<abbr>TZif</abbr> file reader.</li>
6404616d0f9Sopenharmony_ci<li><a href="https://metacpan.org/pod/DateTime::TimeZone::Tzfile">
6414616d0f9Sopenharmony_ciDateTime::TimeZone::Tzfile</a>
6424616d0f9Sopenharmony_ciis a <abbr>TZif</abbr> file reader written in Perl.
6434616d0f9Sopenharmony_ciIt is freely available under the same terms as Perl
6444616d0f9Sopenharmony_ci(dual <abbr>GPL</abbr> and Artistic license).</li>
6454616d0f9Sopenharmony_ci<li>Python has a <a id="python-zoneinfo"
6464616d0f9Sopenharmony_cihref="https://docs.python.org/3/library/zoneinfo.html"><code>zoneinfo.ZoneInfo</code>
6474616d0f9Sopenharmony_ciclass</a> that reads <abbr>TZif</abbr> data and creates objects
6484616d0f9Sopenharmony_cithat represent <code><abbr>tzdb</abbr></code> timezones.
6494616d0f9Sopenharmony_ciPython is freely available under the
6504616d0f9Sopenharmony_ci<a href="https://docs.python.org/3/license.html">Python Software Foundation
6514616d0f9Sopenharmony_ciLicense</a>.
6524616d0f9Sopenharmony_ciA companion <a id="pypi-tzdata" href="https://pypi.org/">PyPI</a> module
6534616d0f9Sopenharmony_ci<a href="https://pypi.org/project/tzdata/"><code>tzdata</code></a>
6544616d0f9Sopenharmony_cisupplies TZif data if the underlying system data cannot be found;
6554616d0f9Sopenharmony_ciit is freely available under the Apache License.</li>
6564616d0f9Sopenharmony_ci<li>The
6574616d0f9Sopenharmony_cipublic-domain <a href="https://github.com/dbaron/tz.js">tz.js</a>
6584616d0f9Sopenharmony_cilibrary contains a Python tool that
6594616d0f9Sopenharmony_ciconverts <abbr>TZif</abbr> data into
6604616d0f9Sopenharmony_ci<abbr>JSON</abbr>-format data suitable for use
6614616d0f9Sopenharmony_ciin its JavaScript library for time zone conversion. Dates before 1970
6624616d0f9Sopenharmony_ciare not supported.</li>
6634616d0f9Sopenharmony_ci<li>The <a
6644616d0f9Sopenharmony_cihref="https://hackage.haskell.org/package/timezone-olson">timezone-olson</a>
6654616d0f9Sopenharmony_cipackage contains <a href="https://www.haskell.org">Haskell</a> code that
6664616d0f9Sopenharmony_ciparses and uses <abbr>TZif</abbr> data. It is freely
6674616d0f9Sopenharmony_ciavailable under a <abbr>BSD</abbr>-style license.</li>
6684616d0f9Sopenharmony_ci</ul>
6694616d0f9Sopenharmony_ci</section>
6704616d0f9Sopenharmony_ci
6714616d0f9Sopenharmony_ci<section>
6724616d0f9Sopenharmony_ci<h2 id="software">Other <code><abbr>tz</abbr></code>-based time zone software</h2>
6734616d0f9Sopenharmony_ci<ul>
6744616d0f9Sopenharmony_ci<li><a href="https://foxclocks.org">FoxClocks</a>
6754616d0f9Sopenharmony_ciis an extension for <a href="https://www.google.com/chrome/">Google
6764616d0f9Sopenharmony_ciChrome</a>, <a
6774616d0f9Sopenharmony_cihref="https://www.mozilla.org/en-US/firefox/new/">Firefox</a> and <a
6784616d0f9Sopenharmony_cihref="https://www.mozilla.org/en-US/thunderbird/">Thunderbird</a>.
6794616d0f9Sopenharmony_ciIt displays multiple clocks in the application window, and has a mapping
6804616d0f9Sopenharmony_ciinterface to <a href="https://www.google.com/earth/">Google Earth</a>.
6814616d0f9Sopenharmony_ciIt is freely available under the <abbr>GPL</abbr>.</li>
6824616d0f9Sopenharmony_ci<li><a href="https://golang.org">Go programming language</a>
6834616d0f9Sopenharmony_ciimplementations contain a copy of a 32-bit subset of a recent
6844616d0f9Sopenharmony_ci<code><abbr>tz</abbr></code> database in a
6854616d0f9Sopenharmony_ciGo-specific format.</li>
6864616d0f9Sopenharmony_ci<li>Microsoft Windows 8.1
6874616d0f9Sopenharmony_ciand later has <code><abbr>tz</abbr></code> data and <abbr>CLDR</abbr>
6884616d0f9Sopenharmony_cidata (mentioned <a href="#CLDR">below</a>) used by the
6894616d0f9Sopenharmony_ci<a href="https://en.wikipedia.org/wiki/Windows_Runtime">Windows Runtime</a> /
6904616d0f9Sopenharmony_ci<a href="https://en.wikipedia.org/wiki/Universal_Windows_Platform">Universal Windows Platform</a> classes
6914616d0f9Sopenharmony_ci<a href="https://docs.microsoft.com/uwp/api/Windows.Globalization.DateTimeFormatting.DateTimeFormatter"><code>DateTimeFormatter</code></a> and
6924616d0f9Sopenharmony_ci<a href="https://docs.microsoft.com/uwp/api/windows.globalization.calendar"><code>Calendar</code></a>.
6934616d0f9Sopenharmony_ci<a id="System.TimeZoneInfo"
6944616d0f9Sopenharmony_cihref="https://blogs.msdn.microsoft.com/bclteam/2007/06/07/exploring-windows-time-zones-with-system-timezoneinfo-josh-free/">Exploring
6954616d0f9Sopenharmony_ciWindows Time Zones with <code>System.TimeZoneInfo</code></a> describes
6964616d0f9Sopenharmony_cithe older, proprietary method of Microsoft Windows 2000 and later,
6974616d0f9Sopenharmony_ciwhich stores time zone data in the
6984616d0f9Sopenharmony_ci<a href="https://en.wikipedia.org/wiki/Windows_Registry">Windows Registry</a>. The
6994616d0f9Sopenharmony_ci<a
7004616d0f9Sopenharmony_cihref="https://unicode.org/cldr/charts/latest/supplemental/zone_tzid.html">Zone &rarr;
7014616d0f9Sopenharmony_ciTzid table</a> or <a
7024616d0f9Sopenharmony_cihref="https://github.com/unicode-org/cldr/blob/master/common/supplemental/windowsZones.xml"><abbr>XML</abbr>
7034616d0f9Sopenharmony_cifile</a> of the <abbr>CLDR</abbr> data maps proprietary zone IDs
7044616d0f9Sopenharmony_cito <code><abbr>tz</abbr></code> names.
7054616d0f9Sopenharmony_ciThese mappings can be performed programmatically via the <a href="https://github.com/mj1856/TimeZoneConverter">TimeZoneConverter</a> .NET library,
7064616d0f9Sopenharmony_cior the ICU Java and C++ libraries mentioned <a href="#ICU">above</a>.
7074616d0f9Sopenharmony_ci<li><a
7084616d0f9Sopenharmony_cihref="https://www.oracle.com/java/index.html">Oracle
7094616d0f9Sopenharmony_ciJava</a> contains a copy of a subset of a recent
7104616d0f9Sopenharmony_ci<code><abbr>tz</abbr></code> database in a
7114616d0f9Sopenharmony_ciJava-specific format.</li>
7124616d0f9Sopenharmony_ci</ul>
7134616d0f9Sopenharmony_ci</section>
7144616d0f9Sopenharmony_ci
7154616d0f9Sopenharmony_ci<section>
7164616d0f9Sopenharmony_ci<h2 id="other-dbs">Other time zone databases</h2>
7174616d0f9Sopenharmony_ci<ul>
7184616d0f9Sopenharmony_ci<li><a href="https://www.astro.com/atlas">Time-zone Atlas</a>
7194616d0f9Sopenharmony_ciis Astrodienst's Web version of Shanks and Pottenger's out-of-print
7204616d0f9Sopenharmony_citime zone history atlases
7214616d0f9Sopenharmony_ci<a href="https://www.worldcat.org/oclc/468828649">for the US</a> and
7224616d0f9Sopenharmony_ci<a href="https://www.worldcat.org/oclc/76950459">for the world</a>.
7234616d0f9Sopenharmony_ciAlthough these extensive atlases
7244616d0f9Sopenharmony_ci<a href="https://astrologynewsservice.com/opinion/how-astrologers-contributed-to-the-information-age-a-brief-history-of-time/">were
7254616d0f9Sopenharmony_cisources for much of the older <code><abbr>tz</abbr></code> data</a>,
7264616d0f9Sopenharmony_cithey are unreliable as Shanks appears to have
7274616d0f9Sopenharmony_ciguessed many <abbr>UT</abbr> offsets and transitions. The atlases cite no
7284616d0f9Sopenharmony_cisources and do not indicate which entries are guesswork.</li>
7294616d0f9Sopenharmony_ci<li><a href="https://en.wikipedia.org/wiki/HP-UX">HP-UX</a> has a database in
7304616d0f9Sopenharmony_ciits own <code>tztab</code>(4) format.</li>
7314616d0f9Sopenharmony_ci<li>Microsoft Windows has proprietary data mentioned
7324616d0f9Sopenharmony_ci<a href="#System.TimeZoneInfo">above</a>.</li>
7334616d0f9Sopenharmony_ci<li><a href="https://www.worldtimeserver.com">World Time Server</a>
7344616d0f9Sopenharmony_ciis another time zone database.</li>
7354616d0f9Sopenharmony_ci<li>The <a
7364616d0f9Sopenharmony_cihref="https://www.iata.org/publications/store/Pages/standard-schedules-information.aspx">Standard
7374616d0f9Sopenharmony_ciSchedules Information Manual</a> of the
7384616d0f9Sopenharmony_ciInternational Air Transport Association
7394616d0f9Sopenharmony_cigives current time zone rules for airports served by commercial aviation.</li>
7404616d0f9Sopenharmony_ci</ul>
7414616d0f9Sopenharmony_ci</section>
7424616d0f9Sopenharmony_ci
7434616d0f9Sopenharmony_ci<section>
7444616d0f9Sopenharmony_ci<h2 id="maps">Maps</h2>
7454616d0f9Sopenharmony_ci<ul>
7464616d0f9Sopenharmony_ci<li>The <a
7474616d0f9Sopenharmony_cihref="https://www.cia.gov/the-world-factbook/maps/world-regional/">World
7484616d0f9Sopenharmony_ciand Regional Maps section</a> of <em>The World Factbook</em>, published by the
7494616d0f9Sopenharmony_ci<a href="https://www.cia.gov">US Central Intelligence
7504616d0f9Sopenharmony_ciAgency (<abbr
7514616d0f9Sopenharmony_cititle="Central Intelligence Agency">CIA</abbr>)</a>, contains a time
7524616d0f9Sopenharmony_cizone map; the
7534616d0f9Sopenharmony_ci<a
7544616d0f9Sopenharmony_cihref="https://legacy.lib.utexas.edu/maps/world.html">Perry&ndash;Casta&ntilde;eda
7554616d0f9Sopenharmony_ciLibrary Map Collection</a>
7564616d0f9Sopenharmony_ciof the University of Texas at Austin has copies of
7574616d0f9Sopenharmony_cirecent editions.
7584616d0f9Sopenharmony_ciThe pictorial quality is good,
7594616d0f9Sopenharmony_cibut the maps do not indicate daylight saving time,
7604616d0f9Sopenharmony_ciand parts of the data are a few years out of date.</li>
7614616d0f9Sopenharmony_ci<li><a href="https://www.worldtimezone.com">World Time Zone Map
7624616d0f9Sopenharmony_ciwith current time</a>
7634616d0f9Sopenharmony_cihas several fancy time zone maps; it covers Russia particularly well.
7644616d0f9Sopenharmony_ciThe maps' pictorial quality is not quite as good as the
7654616d0f9Sopenharmony_ci<abbr>CIA</abbr>'s
7664616d0f9Sopenharmony_cibut the maps are more up to date.</li>
7674616d0f9Sopenharmony_ci<li><a
7684616d0f9Sopenharmony_cihref="https://blog.poormansmath.net/how-much-is-time-wrong-around-the-world/">How
7694616d0f9Sopenharmony_cimuch is time wrong around the world?</a> maps the difference between
7704616d0f9Sopenharmony_cimean solar and standard time, highlighting areas such as western China
7714616d0f9Sopenharmony_ciwhere the two differ greatly. It's a bit out of date, unfortunately.</li>
7724616d0f9Sopenharmony_ci</ul>
7734616d0f9Sopenharmony_ci</section>
7744616d0f9Sopenharmony_ci
7754616d0f9Sopenharmony_ci<section>
7764616d0f9Sopenharmony_ci<h2 id="boundaries">Time zone boundaries</h2>
7774616d0f9Sopenharmony_ci<p>Geographical boundaries between timezones are available
7784616d0f9Sopenharmony_cifrom several <a
7794616d0f9Sopenharmony_cihref="https://en.wikipedia.org/wiki/Internet_geolocation">Internet
7804616d0f9Sopenharmony_cigeolocation</a>
7814616d0f9Sopenharmony_ciservices and other sources.</p>
7824616d0f9Sopenharmony_ci<ul>
7834616d0f9Sopenharmony_ci<li><a href="https://github.com/evansiroky/timezone-boundary-builder">Timezone
7844616d0f9Sopenharmony_ciBoundary Builder</a> extracts
7854616d0f9Sopenharmony_ci<a href="https://www.openstreetmap.org">Open Street Map</a> data to build
7864616d0f9Sopenharmony_ciboundaries of <code><abbr>tzdb</abbr></code> timezones.
7874616d0f9Sopenharmony_ciIts code is freely available under the <abbr>MIT</abbr> license, and
7884616d0f9Sopenharmony_ciits data entries are freely available under the
7894616d0f9Sopenharmony_ci<a href="https://opendatacommons.org/licenses/odbl/">Open Data Commons
7904616d0f9Sopenharmony_ciOpen Database License</a>. The borders appear to be quite accurate.
7914616d0f9Sopenharmony_ciIts main web page lists more than twenty libraries
7924616d0f9Sopenharmony_cifor looking up a timezone name from a GPS coordinate.</li>
7934616d0f9Sopenharmony_ci<li>Free access via a network API, if you register a key, is provided by
7944616d0f9Sopenharmony_cithe <a
7954616d0f9Sopenharmony_cihref="https://www.geonames.org/export/web-services.html#timezone">GeoNames
7964616d0f9Sopenharmony_ciTimezone web service</a>, the <a
7974616d0f9Sopenharmony_cihref="https://developers.google.com/maps/documentation/timezone/intro">Google
7984616d0f9Sopenharmony_ciMaps Time Zone API</a>, and
7994616d0f9Sopenharmony_cithe <a href="https://timezonedb.com/api">TimeZoneDB API</a>.
8004616d0f9Sopenharmony_ciCommercial network API access is provided
8014616d0f9Sopenharmony_ciby <a href="https://askgeo.com">AskGeo</a>
8024616d0f9Sopenharmony_ciand <a href="https://www.geogarage.com/blog/news-1/post/geogarage-time-zone-api-31">GeoGarage</a>.
8034616d0f9Sopenharmony_ci</li>
8044616d0f9Sopenharmony_ci<li>"<a
8054616d0f9Sopenharmony_cihref="https://stackoverflow.com/questions/16086962/how-to-get-a-time-zone-from-a-location-using-latitude-and-longitude-coordinates/16086964">How
8064616d0f9Sopenharmony_cito get a time zone from a location using latitude and longitude
8074616d0f9Sopenharmony_cicoordinates?</a>" discusses other geolocation possibilities.</li>
8084616d0f9Sopenharmony_ci<li><a href="http://statoids.com/statoids.html">Administrative
8094616d0f9Sopenharmony_ciDivisions of Countries ("Statoids")</a> lists
8104616d0f9Sopenharmony_cipolitical subdivision data related to time zones.</li>
8114616d0f9Sopenharmony_ci<li><a href="https://manifold.net/info/freestuff.shtml">Manifold Software
8124616d0f9Sopenharmony_ci&ndash; GIS and Database Tools</a> includes a Manifold-format map of
8134616d0f9Sopenharmony_ciworld time zone boundaries circa 2007, distributed under the
8144616d0f9Sopenharmony_ci<abbr>GPL</abbr>.</li>
8154616d0f9Sopenharmony_ci<li>A ship within the <a
8164616d0f9Sopenharmony_cihref="https://en.wikipedia.org/wiki/Territorial_waters">territorial
8174616d0f9Sopenharmony_ciwaters</a> of any nation uses that nation's time. In international
8184616d0f9Sopenharmony_ciwaters, time zone boundaries are meridians 15&deg; apart, except that
8194616d0f9Sopenharmony_ci<abbr>UT</abbr>&minus;12 and <abbr>UT</abbr>+12 are each 7.5&deg;
8204616d0f9Sopenharmony_ciwide and are separated by
8214616d0f9Sopenharmony_cithe 180&deg; meridian (not by the International Date Line, which is
8224616d0f9Sopenharmony_cifor land and territorial waters only). A captain can change ship's
8234616d0f9Sopenharmony_ciclocks any time after entering a new time zone; midnight changes are
8244616d0f9Sopenharmony_cicommon.</li>
8254616d0f9Sopenharmony_ci</ul>
8264616d0f9Sopenharmony_ci</section>
8274616d0f9Sopenharmony_ci
8284616d0f9Sopenharmony_ci<section>
8294616d0f9Sopenharmony_ci<h2 id="civil">Civil time concepts and history</h2>
8304616d0f9Sopenharmony_ci<ul>
8314616d0f9Sopenharmony_ci<li><a href="https://www.nist.gov/pml/time-and-frequency-division/popular-links/walk-through-time">A
8324616d0f9Sopenharmony_ciWalk through Time</a>
8334616d0f9Sopenharmony_cisurveys the evolution of timekeeping.</li>
8344616d0f9Sopenharmony_ci<li>The history of daylight saving time is surveyed in <a
8354616d0f9Sopenharmony_cihref="http://www.webexhibits.org/daylightsaving/">About Daylight
8364616d0f9Sopenharmony_ciSaving Time &ndash; History, rationale, laws &amp; dates</a> and summarized in
8374616d0f9Sopenharmony_ci<a href="http://seizethedaylight.com/dst/">A Brief
8384616d0f9Sopenharmony_ciHistory of Daylight Saving Time</a>.</li>
8394616d0f9Sopenharmony_ci<li><a href="https://www.laphamsquarterly.org/roundtable/time-lords">Time
8404616d0f9Sopenharmony_ciLords</a> discusses how authoritarians manipulate civil time.</li>
8414616d0f9Sopenharmony_ci<li><a href="https://www.w3.org/TR/timezone/">Working with Time Zones</a>
8424616d0f9Sopenharmony_cicontains guidelines and best practices for software applications that
8434616d0f9Sopenharmony_cideal with civil time.</li>
8444616d0f9Sopenharmony_ci<li><a href="https://webspace.science.uu.nl/~gent0113/idl/idl.htm">A History of
8454616d0f9Sopenharmony_cithe International Date Line</a> tells the story of the most important
8464616d0f9Sopenharmony_citime zone boundary.</li>
8474616d0f9Sopenharmony_ci<li><a href="http://statoids.com/tconcept.html">Basic Time
8484616d0f9Sopenharmony_ciZone Concepts</a> discusses terminological issues behind time zones.</li>
8494616d0f9Sopenharmony_ci</ul>
8504616d0f9Sopenharmony_ci</section>
8514616d0f9Sopenharmony_ci
8524616d0f9Sopenharmony_ci<section>
8534616d0f9Sopenharmony_ci<h2 id="national">National histories of legal time</h2>
8544616d0f9Sopenharmony_ci<dl>
8554616d0f9Sopenharmony_ci<dt>Australia</dt>
8564616d0f9Sopenharmony_ci<dd>The Parliamentary Library commissioned a <a
8574616d0f9Sopenharmony_cihref="https://parlinfo.aph.gov.au/parlInfo/download/library/prspub/359V6/upload_binary/359v60.pdf">research
8584616d0f9Sopenharmony_cipaper on daylight saving time in Australia</a>.
8594616d0f9Sopenharmony_ciThe Bureau of Meteorology publishes a list of <a
8604616d0f9Sopenharmony_cihref="http://www.bom.gov.au/climate/averages/tables/dst_times.shtml">Implementation
8614616d0f9Sopenharmony_ciDates of Daylight Savings Time within Australia</a>.</dd>
8624616d0f9Sopenharmony_ci<dt>Belgium</dt>
8634616d0f9Sopenharmony_ci<dd>The Royal Observatory of Belgium maintains a table of time in
8644616d0f9Sopenharmony_ciBelgium (in
8654616d0f9Sopenharmony_ci<a href="https://robinfo.oma.be/nl/astro-info/tijd/"
8664616d0f9Sopenharmony_cihreflang="nl">Dutch</a> and <a
8674616d0f9Sopenharmony_cihref="https://robinfo.oma.be/fr/astro-info/heure/"
8684616d0f9Sopenharmony_cihreflang="fr">French</a>).</dd>
8694616d0f9Sopenharmony_ci<dt>Brazil</dt>
8704616d0f9Sopenharmony_ci<dd>The Time Service Department of the National Observatory
8714616d0f9Sopenharmony_cirecords <a href="http://pcdsh01.on.br/DecHV.html"
8724616d0f9Sopenharmony_cihreflang="pt-BR">Brazil's daylight saving time decrees (in
8734616d0f9Sopenharmony_ciPortuguese)</a>.</dd>
8744616d0f9Sopenharmony_ci<dt>Canada</dt>
8754616d0f9Sopenharmony_ci<dd>National Research Council Canada publishes current
8764616d0f9Sopenharmony_ciand some older information about <a
8774616d0f9Sopenharmony_cihref="https://nrc.canada.ca/en/certifications-evaluations-standards/canadas-official-time/time-zones-daylight-saving-time">time
8784616d0f9Sopenharmony_cizones and daylight saving time</a>.</dd>
8794616d0f9Sopenharmony_ci<dt>Chile</dt>
8804616d0f9Sopenharmony_ci<dd>The Hydrographic and Oceanographic Service of the Chilean Navy publishes a
8814616d0f9Sopenharmony_ci<a href="https://www.horaoficial.cl/historia_hora.php" hreflang="es">history of
8824616d0f9Sopenharmony_ciChile's official time (in Spanish)</a>.</dd>
8834616d0f9Sopenharmony_ci<dt>China</dt>
8844616d0f9Sopenharmony_ci<dd>The Hong Kong Observatory maintains a
8854616d0f9Sopenharmony_ci<a href="https://www.hko.gov.hk/en/gts/time/Summertime.htm">history of
8864616d0f9Sopenharmony_ci summer time in Hong Kong</a>,
8874616d0f9Sopenharmony_ciand Macau's Meteorological and Geophysical Bureau maintains a <a
8884616d0f9Sopenharmony_cihref="https://www.smg.gov.mo/en/subpage/224/page/174">similar
8894616d0f9Sopenharmony_cihistory for Macau</a>.
8904616d0f9Sopenharmony_ciUnfortunately the latter is incomplete and has errors.</dd>
8914616d0f9Sopenharmony_ci<dt>Czech Republic</dt>
8924616d0f9Sopenharmony_ci<dd><a href="https://kalendar.beda.cz/kdy-zacina-a-konci-letni-cas"
8934616d0f9Sopenharmony_cihreflang="cs">When daylight saving time starts and ends (in Czech)</a>
8944616d0f9Sopenharmony_cisummarizes and cites historical <abbr>DST</abbr> regulations.</dd>
8954616d0f9Sopenharmony_ci<dt>Germany</dt>
8964616d0f9Sopenharmony_ci<dd>The National Institute for Science and Technology maintains the <a
8974616d0f9Sopenharmony_cihref="https://www.ptb.de/cms/en/fachabteilungen/abt4/fb-44/ag-441/realisation-of-legal-time-in-germany.html">Realisation
8984616d0f9Sopenharmony_ciof Legal Time in Germany</a>.</dd>
8994616d0f9Sopenharmony_ci<dt>Israel</dt>
9004616d0f9Sopenharmony_ci<dd>The Interior Ministry periodically issues <a
9014616d0f9Sopenharmony_cihref="ftp://ftp.cs.huji.ac.il/pub/tz/announcements"
9024616d0f9Sopenharmony_cihreflang="he">announcements (in Hebrew)</a>.</dd>
9034616d0f9Sopenharmony_ci<dt>Malaysia</dt>
9044616d0f9Sopenharmony_ci<dd>See Singapore <a href="#Singapore">below</a>.</dd>
9054616d0f9Sopenharmony_ci<dt>Mexico</dt>
9064616d0f9Sopenharmony_ci<dd>The Investigation and Analysis Service of the Mexican Library of
9074616d0f9Sopenharmony_ciCongress has published a <a
9084616d0f9Sopenharmony_cihref="https://www.diputados.gob.mx/bibliot/publica/inveyana/polisoc/horver/index.htm"
9094616d0f9Sopenharmony_cihreflang="es">history of Mexican local time (in Spanish)</a>.</dd>
9104616d0f9Sopenharmony_ci<dt>Netherlands</dt>
9114616d0f9Sopenharmony_ci<dd><a href="https://webspace.science.uu.nl/~gent0113/wettijd/wettijd.htm"
9124616d0f9Sopenharmony_cihreflang="nl">Legal time in the Netherlands (in Dutch)</a>
9134616d0f9Sopenharmony_cicovers the history of local time in the Netherlands from ancient times.</dd>
9144616d0f9Sopenharmony_ci<dt>New Zealand</dt>
9154616d0f9Sopenharmony_ci<dd>The Department of Internal Affairs maintains a brief <a
9164616d0f9Sopenharmony_cihref="https://www.dia.govt.nz/Daylight-Saving-History">History of
9174616d0f9Sopenharmony_ciDaylight Saving</a>.</dd>
9184616d0f9Sopenharmony_ci<dt>Palestine</dt>
9194616d0f9Sopenharmony_ci<dd>The Ministry of Telecom and IT publishes a <a
9204616d0f9Sopenharmony_cihref="https://mtit.pna.ps/home/TimeZone"
9214616d0f9Sopenharmony_cihreflang="ar">history of clock changes (in Arabic)</a>.</dd>
9224616d0f9Sopenharmony_ci<dt>Portugal</dt>
9234616d0f9Sopenharmony_ci<dd>The Lisbon Astronomical Observatory publishes a
9244616d0f9Sopenharmony_ci<a href="https://oal.ul.pt/hora-legal/" hreflang="pt">history of
9254616d0f9Sopenharmony_cilegal time (in Portuguese)</a>.</dd>
9264616d0f9Sopenharmony_ci<dt>Singapore</dt>
9274616d0f9Sopenharmony_ci<dd><a id="Singapore"
9284616d0f9Sopenharmony_cihref="https://web.archive.org/web/20190822231045/http://www.math.nus.edu.sg/~mathelmr/teaching/timezone.html">Why
9294616d0f9Sopenharmony_ciis Singapore in the "Wrong" Time Zone?</a> details the
9304616d0f9Sopenharmony_cihistory of legal time in Singapore and Malaysia.</dd>
9314616d0f9Sopenharmony_ci<dt>United Kingdom</dt>
9324616d0f9Sopenharmony_ci<dd><a
9334616d0f9Sopenharmony_cihref="https://www.polyomino.org.uk/british-time/">History of
9344616d0f9Sopenharmony_cilegal time in Britain</a> discusses in detail the country
9354616d0f9Sopenharmony_ciwith perhaps the best-documented history of clock adjustments.</dd>
9364616d0f9Sopenharmony_ci<dt>United States</dt>
9374616d0f9Sopenharmony_ci<dd>The Department of Transportation's <a
9384616d0f9Sopenharmony_cihref="https://www.transportation.gov/regulations/recent-time-zone-proceedings">Recent
9394616d0f9Sopenharmony_ciTime Zone Proceedings</a> lists changes to time zone boundaries.</dd>
9404616d0f9Sopenharmony_ci<dt>Uruguay</dt>
9414616d0f9Sopenharmony_ci<dd>The Oceanography, Hydrography, and Meteorology Service of the Uruguayan
9424616d0f9Sopenharmony_ciNavy (SOHMA) publishes an annual <a
9434616d0f9Sopenharmony_cihref="https://sohma.armada.mil.uy/index.php/servicios/datos-astronomicos" hreflang="es">almanac
9444616d0f9Sopenharmony_ci(in Spanish)</a>.</dd>
9454616d0f9Sopenharmony_ci</dl>
9464616d0f9Sopenharmony_ci</section>
9474616d0f9Sopenharmony_ci
9484616d0f9Sopenharmony_ci<section>
9494616d0f9Sopenharmony_ci<h2 id="costs">Costs and benefits of time shifts</h2>
9504616d0f9Sopenharmony_ci<p>Various sources argue for and against daylight saving time and time
9514616d0f9Sopenharmony_cizone shifts, and many scientific studies have been conducted. This
9524616d0f9Sopenharmony_cisection summarizes reviews and position statements based on
9534616d0f9Sopenharmony_ciscientific literature in the area.</p>
9544616d0f9Sopenharmony_ci<ul>
9554616d0f9Sopenharmony_ci<li>In 2022 the American Medical Association issued a
9564616d0f9Sopenharmony_ci<a href="https://www.ama-assn.org/press-center/press-releases/ama-calls-permanent-standard-time">statement
9574616d0f9Sopenharmony_cisupporting permanent standard time</a> on health grounds.</li>
9584616d0f9Sopenharmony_ci<li>Carey RN, Sarma KM.
9594616d0f9Sopenharmony_ci<a href="https://bmjopen.bmj.com/content/7/6/e014319.long">Impact of
9604616d0f9Sopenharmony_cidaylight saving time on road traffic collision risk: a systematic
9614616d0f9Sopenharmony_cireview</a>.
9624616d0f9Sopenharmony_ci<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>.
9634616d0f9Sopenharmony_ciThis reviews research literature and concludes that the evidence
9644616d0f9Sopenharmony_cineither supports nor refutes road safety benefits from
9654616d0f9Sopenharmony_cishifts in time zones.</li>
9664616d0f9Sopenharmony_ci<li>Havranek T, Herman D, Irsova D.
9674616d0f9Sopenharmony_ci<a href="https://www.iaee.org/en/publications/ejarticle.aspx?id=3051">Does
9684616d0f9Sopenharmony_cidaylight saving save electricity? A meta-analysis</a>.
9694616d0f9Sopenharmony_ci<em>Energy J.</em> 2018;39(2):35&ndash;61.
9704616d0f9Sopenharmony_cidoi:<a href="https://doi.org/10.5547/01956574.39.2.thav">10.5547/01956574.39.2.thav</a>.
9714616d0f9Sopenharmony_ciThis analyzes research literature and concludes, "Electricity savings
9724616d0f9Sopenharmony_ciare larger for countries farther away from the equator, while
9734616d0f9Sopenharmony_cisubtropical regions consume more electricity because of <abbr>DST</abbr>."</li>
9744616d0f9Sopenharmony_ci<li>Malow BA. <a
9754616d0f9Sopenharmony_cihref="https://academic.oup.com/sleep/article/45/12/zsac236/6717940">It is time
9764616d0f9Sopenharmony_cito abolish the clock change and adopt permanent
9774616d0f9Sopenharmony_cistandard time in the United States:
9784616d0f9Sopenharmony_cia Sleep Research Society position statement</a>.
9794616d0f9Sopenharmony_ci<em>Sleep.</em> 2022;45(12):zsac236.
9804616d0f9Sopenharmony_cidoi:<a href="https://doi.org/10.1093/sleep/zsac236">10.1093/sleep/zsac236</a>.
9814616d0f9Sopenharmony_ciAfter reviewing the scientific literature, the Sleep Research Society
9824616d0f9Sopenharmony_ciadvocates permanent standard time due to its health benefits.
9834616d0f9Sopenharmony_ci<li>Rishi MA, Cheng JY, Strang AR <em>et al</em>.
9844616d0f9Sopenharmony_ci<a href="https://jcsm.aasm.org/doi/10.5664/jcsm.10898">Permanent standard time
9854616d0f9Sopenharmony_ciis the optimal choice for health and safety:
9864616d0f9Sopenharmony_cian American Academy of Sleep Medicine position statement</a>.
9874616d0f9Sopenharmony_ci<em>J Clin Sleep Med.</em> 2024;20(1):121&ndash;125.
9884616d0f9Sopenharmony_cidoi:<a href="https://doi.org/10.5664/jcsm.10898">10.5664/jcsm.10898</a>.
9894616d0f9Sopenharmony_ciThe AASM argues for permanent standard time due to health and safety risks
9904616d0f9Sopenharmony_ciand economic costs of both <abbr>DST</abbr> transitions and
9914616d0f9Sopenharmony_cipermanent <abbr>DST</abbr>.</li>
9924616d0f9Sopenharmony_ci<li>Roenneberg T, Wirz-Justice A, Skene DJ <em>et al</em>.
9934616d0f9Sopenharmony_ci<a href="https://journals.sagepub.com/doi/10.1177/0748730419854197">Why
9944616d0f9Sopenharmony_cishould we abolish Daylight Saving Time?</a>
9954616d0f9Sopenharmony_ci<em>J Biol Rhythms.</em> 2019;34(3):227&ndash;230.
9964616d0f9Sopenharmony_cidoi:<a href="https://doi.org/10.1177/0748730419854197">10.1177/0748730419854197</a>.
9974616d0f9Sopenharmony_ciThe Society for Research on Biological Rhythms
9984616d0f9Sopenharmony_ciopposes DST changes and permanent DST, and advocates that governments adopt
9994616d0f9Sopenharmony_ci"permanent Standard Time for the health and safety of their citizens".</li>
10004616d0f9Sopenharmony_ci</ul>
10014616d0f9Sopenharmony_ci</section>
10024616d0f9Sopenharmony_ci
10034616d0f9Sopenharmony_ci<section>
10044616d0f9Sopenharmony_ci<h2 id="precision">Precision timekeeping</h2>
10054616d0f9Sopenharmony_ci<ul>
10064616d0f9Sopenharmony_ci<li><a
10074616d0f9Sopenharmony_cihref="http://leapsecond.com/hpan/an1289.pdf">The
10084616d0f9Sopenharmony_ciScience of Timekeeping</a> is a thorough introduction
10094616d0f9Sopenharmony_cito the theory and practice of precision timekeeping.</li>
10104616d0f9Sopenharmony_ci<li><a href="https://doi.org/10.1007/978-3-319-59909-0">The Science of
10114616d0f9Sopenharmony_ciTime 2016</a> contains several freely readable papers.</li>
10124616d0f9Sopenharmony_ci<li><a href="https://www.ntp.org"><abbr
10134616d0f9Sopenharmony_cititle="Network Time Protocol">NTP</abbr>: The Network
10144616d0f9Sopenharmony_ciTime Protocol</a> (Internet <abbr>RFC</abbr> 5905)
10154616d0f9Sopenharmony_cidiscusses how to synchronize clocks of
10164616d0f9Sopenharmony_ciInternet hosts.</li>
10174616d0f9Sopenharmony_ci<li>The <a href="https://www.usenix.org/system/files/conference/nsdi18/nsdi18-geng.pdf"><span style="font-variant: small-caps">Huygens</span></a>
10184616d0f9Sopenharmony_cifamily of software algorithms can achieve accuracy to a few tens of
10194616d0f9Sopenharmony_cinanoseconds in scalable server farms without special hardware.</li>
10204616d0f9Sopenharmony_ci<li>The <a
10214616d0f9Sopenharmony_cihref="https://www.nist.gov/intelligent-systems-division/ieee-1588">Precision
10224616d0f9Sopenharmony_ciTime Protocol</a> (<abbr
10234616d0f9Sopenharmony_cititle="Institute of Electrical and Electronics Engineers">IEEE</abbr> 1588)
10244616d0f9Sopenharmony_cican achieve submicrosecond clock accuracy on a local area network
10254616d0f9Sopenharmony_ciwith special-purpose hardware.</li>
10264616d0f9Sopenharmony_ci<li><a
10274616d0f9Sopenharmony_cihref="https://datatracker.ietf.org/doc/html/rfc4833">Timezone
10284616d0f9Sopenharmony_ciOptions for <abbr title="Dynamic Host Configuration Protocol">DHCP</abbr></a>
10294616d0f9Sopenharmony_ci(Internet <abbr>RFC</abbr> 4833)
10304616d0f9Sopenharmony_cispecifies a <a
10314616d0f9Sopenharmony_cihref="https://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol"><abbr>DHCP</abbr></a>
10324616d0f9Sopenharmony_cioption for a server to configure
10334616d0f9Sopenharmony_cia client's time zone and daylight saving settings automatically.</li>
10344616d0f9Sopenharmony_ci<li><a href="https://www.ucolick.org/~sla/leapsecs/timescales.html">Time
10354616d0f9Sopenharmony_ciScales</a> describes astronomical time scales like
10364616d0f9Sopenharmony_ci<abbr title="Terrestrial Dynamic Time">TDT</abbr>,
10374616d0f9Sopenharmony_ci<abbr title="Geocentric Coordinate Time">TCG</abbr>, and
10384616d0f9Sopenharmony_ci<abbr title="Barycentric Dynamic Time">TDB</abbr>.
10394616d0f9Sopenharmony_ci<li>The <a href="https://www.iau.org"><abbr
10404616d0f9Sopenharmony_cititle="International Astronomical Union">IAU</abbr></a>'s <a
10414616d0f9Sopenharmony_cihref="https://www.iausofa.org"><abbr
10424616d0f9Sopenharmony_cititle="Standards Of Fundamental Astronomy">SOFA</abbr></a>
10434616d0f9Sopenharmony_cicollection contains C and <a
10444616d0f9Sopenharmony_cihref="https://en.wikipedia.org/wiki/Fortran">Fortran</a>
10454616d0f9Sopenharmony_cicode for converting among time scales like
10464616d0f9Sopenharmony_ci<abbr title="International Atomic Time">TAI</abbr>,
10474616d0f9Sopenharmony_ci<abbr>TDB</abbr>, <abbr>TDT</abbr> and
10484616d0f9Sopenharmony_ci<abbr>UTC</abbr>. It is freely available under the
10494616d0f9Sopenharmony_ci<a href="https://www.iausofa.org/tandc.html">SOFA license</a>.</li>
10504616d0f9Sopenharmony_ci<li><a
10514616d0f9Sopenharmony_cihref="https://www.giss.nasa.gov/tools/mars24/help/notes.html">Mars24 Sunclock
10524616d0f9Sopenharmony_ci&ndash; Time on Mars</a> describes Airy Mean Time (<abbr>AMT</abbr>) and the
10534616d0f9Sopenharmony_cidiverse local time
10544616d0f9Sopenharmony_ciscales used by each landed mission on Mars.</li>
10554616d0f9Sopenharmony_ci<li><a href="http://leapsecond.com">LeapSecond.com</a> is
10564616d0f9Sopenharmony_cidedicated not only to leap seconds but to precise time and frequency
10574616d0f9Sopenharmony_ciin general. It covers the state of the art in amateur timekeeping, and
10584616d0f9Sopenharmony_cihow the art has progressed over the past few decades.</li>
10594616d0f9Sopenharmony_ci<li>The rules for leap seconds are specified in Annex 1 (Time scales) of <a
10604616d0f9Sopenharmony_cihref="https://www.itu.int/rec/R-REC-TF.460-6-200202-I/">Standard-frequency
10614616d0f9Sopenharmony_ciand time-signal emissions</a>, International Telecommunication Union &ndash;
10624616d0f9Sopenharmony_ciRadiocommunication Sector (ITU-R) Recommendation TF.460-6 (02/2002).</li>
10634616d0f9Sopenharmony_ci<li><a
10644616d0f9Sopenharmony_cihref="https://www.iers.org/IERS/EN/Publications/Bulletins/bulletins.html"><abbr
10654616d0f9Sopenharmony_cititle="International Earth Rotation and Reference Systems Service">IERS</abbr>
10664616d0f9Sopenharmony_ciBulletins</a> contains official publications of the International
10674616d0f9Sopenharmony_ciEarth Rotation and Reference Systems Service, which decides when leap
10684616d0f9Sopenharmony_ciseconds occur. The <code><abbr>tz</abbr></code> code and data support leap seconds
10694616d0f9Sopenharmony_civia an optional "<code>right</code>" configuration where a computer's internal
10704616d0f9Sopenharmony_ci<code>time_t</code> integer clock counts every <abbr>TAI</abbr> second,
10714616d0f9Sopenharmony_cias opposed to the default "<code>posix</code>" configuration
10724616d0f9Sopenharmony_ciwhere the internal clock ignores leap seconds.
10734616d0f9Sopenharmony_ciThe two configurations agree for timestamps starting with 1972-01-01 00:00:00
10744616d0f9Sopenharmony_ci<abbr>UTC</abbr> (<code>time_t</code> 63&thinsp;072&thinsp;000) and diverge for
10754616d0f9Sopenharmony_citimestamps starting with <code>time_t</code> 78&thinsp;796&thinsp;800,
10764616d0f9Sopenharmony_ciwhich corresponds to the first leap second
10774616d0f9Sopenharmony_ci1972-06-30 23:59:60 <abbr>UTC</abbr> in the "<code>right</code>" configuration,
10784616d0f9Sopenharmony_ciand to
10794616d0f9Sopenharmony_ci1972-07-01 00:00:00 <abbr>UTC</abbr> in the "<code>posix</code>" configuration.
10804616d0f9Sopenharmony_ciIn practice the two configurations also agree for timestamps before
10814616d0f9Sopenharmony_ci1972 even though the historical situation is messy, partly because
10824616d0f9Sopenharmony_cineither <abbr>UTC</abbr> nor <abbr>TAI</abbr>
10834616d0f9Sopenharmony_ciis well-defined for sufficiently old timestamps.</li>
10844616d0f9Sopenharmony_ci<li><a href="https://developers.google.com/time/smear">Leap Smear</a>
10854616d0f9Sopenharmony_cidiscusses how to gradually adjust <abbr>POSIX</abbr> clocks near a
10864616d0f9Sopenharmony_cileap second so that they disagree with <abbr>UTC</abbr> by at most a
10874616d0f9Sopenharmony_cihalf second, even though every <abbr>POSIX</abbr> minute has exactly
10884616d0f9Sopenharmony_cisixty seconds. This approach works with the default <code><abbr>tz</abbr></code>
10894616d0f9Sopenharmony_ci"<code>posix</code>" configuration, is <a
10904616d0f9Sopenharmony_cihref="http://bk1.ntp.org/ntp-stable/README.leapsmear">supported</a> by
10914616d0f9Sopenharmony_cithe <abbr>NTP</abbr> reference implementation, <a
10924616d0f9Sopenharmony_cihref="https://github.com/google/unsmear">supports</a> conversion between
10934616d0f9Sopenharmony_ci<abbr>UTC</abbr> and smeared <abbr>POSIX</abbr> timestamps, and is used by major
10944616d0f9Sopenharmony_cicloud service providers. However, according to
10954616d0f9Sopenharmony_ci<a href="https://datatracker.ietf.org/doc/html/rfc8633#section-3.7.1">&sect;3.7.1 of
10964616d0f9Sopenharmony_ciNetwork Time Protocol Best Current Practices</a>
10974616d0f9Sopenharmony_ci(Internet <abbr>RFC</abbr> 8633), leap smearing is not suitable for
10984616d0f9Sopenharmony_ciapplications requiring accurate <abbr>UTC</abbr> or civil time,
10994616d0f9Sopenharmony_ciand is intended for use only in single, well-controlled environments.</li>
11004616d0f9Sopenharmony_ci<li>The <a
11014616d0f9Sopenharmony_cihref="https://pairlist6.pair.net/mailman/listinfo/leapsecs">Leap
11024616d0f9Sopenharmony_ciSecond Discussion List</a> covers <a
11034616d0f9Sopenharmony_cihref="https://www2.unb.ca/gge/Resources/gpsworld.november99.pdf">McCarthy
11044616d0f9Sopenharmony_ciand Klepczynski's 1999 proposal to discontinue leap seconds</a>,
11054616d0f9Sopenharmony_cidiscussed further in
11064616d0f9Sopenharmony_ci<a href="https://www.cl.cam.ac.uk/~mgk25/time/metrologia-leapsecond.pdf">The
11074616d0f9Sopenharmony_cileap second: its history and possible future</a>.
11084616d0f9Sopenharmony_ci<a href="https://www.ucolick.org/~sla/leapsecs/"><abbr>UTC</abbr>
11094616d0f9Sopenharmony_cimight be redefined
11104616d0f9Sopenharmony_ciwithout Leap Seconds</a> gives pointers on this
11114616d0f9Sopenharmony_cicontentious issue.
11124616d0f9Sopenharmony_ciThe General Conference on Weights and Measures
11134616d0f9Sopenharmony_ci<a href="https://www.bipm.org/en/cgpm-2022/resolution-4">decided in 2022</a>
11144616d0f9Sopenharmony_cito discontinue the use of leap seconds by 2035, replacing them with an
11154616d0f9Sopenharmony_cias-yet-undetermined scheme some time after the year 2135.
11164616d0f9Sopenharmony_ciThe World Radiocommunication Conference <a
11174616d0f9Sopenharmony_cihref="https://www.itu.int/dms_pub/itu-r/opb/act/R-ACT-WRC.15-2023-PDF-E.pdf">resolved
11184616d0f9Sopenharmony_ciin 2023</a> to cooperate with this process.
11194616d0f9Sopenharmony_ci</li>
11204616d0f9Sopenharmony_ci</ul>
11214616d0f9Sopenharmony_ci</section>
11224616d0f9Sopenharmony_ci
11234616d0f9Sopenharmony_ci<section>
11244616d0f9Sopenharmony_ci<h2 id="notation">Time notation</h2>
11254616d0f9Sopenharmony_ci<ul>
11264616d0f9Sopenharmony_ci<li>The <a id="CLDR" href="https://cldr.unicode.org">Unicode Common Locale Data
11274616d0f9Sopenharmony_ciRepository (<abbr>CLDR</abbr>) Project</a> has localizations for time
11284616d0f9Sopenharmony_cizone names, abbreviations, identifiers, and formats. For example, it
11294616d0f9Sopenharmony_cicontains French translations for "Eastern European Summer Time",
11304616d0f9Sopenharmony_ci"<abbr title="Eastern European Summer Time">EEST</abbr>", and
11314616d0f9Sopenharmony_ci"Bucharest". Its
11324616d0f9Sopenharmony_ci<a href="https://unicode.org/cldr/charts/latest/by_type/">by-type
11334616d0f9Sopenharmony_cicharts</a> show these values for many locales. Data values are available in
11344616d0f9Sopenharmony_ciboth <abbr title="Locale Data Markup Language">LDML</abbr>
11354616d0f9Sopenharmony_ci(an <abbr>XML</abbr> format) and <abbr>JSON</abbr>.
11364616d0f9Sopenharmony_ci<li>
11374616d0f9Sopenharmony_ci<a href="https://www.cl.cam.ac.uk/~mgk25/iso-time.html">A summary of
11384616d0f9Sopenharmony_cithe international standard date and time notation</a> covers
11394616d0f9Sopenharmony_ci<a
11404616d0f9Sopenharmony_cihref="https://www.iso.org/standard/70907.html"><em><abbr
11414616d0f9Sopenharmony_cititle="International Organization for Standardization">ISO</abbr>
11424616d0f9Sopenharmony_ci8601-1:2019 &ndash; Date and time &ndash; Representations for information
11434616d0f9Sopenharmony_ciinterchange &ndash; Part 1: Basic rules</em></a>.</li>
11444616d0f9Sopenharmony_ci<li>
11454616d0f9Sopenharmony_ci<a href="https://www.w3.org/TR/xmlschema/#dateTime"><abbr>XML</abbr>
11464616d0f9Sopenharmony_ciSchema: Datatypes &ndash; dateTime</a> specifies a format inspired by
11474616d0f9Sopenharmony_ci<abbr>ISO</abbr> 8601 that is in common use in <abbr>XML</abbr> data.</li>
11484616d0f9Sopenharmony_ci<li><a href="https://datatracker.ietf.org/doc/html/rfc5322#section-3.3">&sect;3.3 of
11494616d0f9Sopenharmony_ciInternet Message Format</a> (Internet <abbr>RFC</abbr> 5322)
11504616d0f9Sopenharmony_cispecifies the time notation used in email and <a
11514616d0f9Sopenharmony_cihref="https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol"><abbr>HTTP</abbr></a>
11524616d0f9Sopenharmony_ciheaders.</li>
11534616d0f9Sopenharmony_ci<li>
11544616d0f9Sopenharmony_ci<a href="https://datatracker.ietf.org/doc/html/rfc3339">Date and Time
11554616d0f9Sopenharmony_cion the Internet: Timestamps</a> (Internet <abbr>RFC</abbr> 3339)
11564616d0f9Sopenharmony_cispecifies an <abbr>ISO</abbr> 8601
11574616d0f9Sopenharmony_ciprofile for use in new Internet
11584616d0f9Sopenharmony_ciprotocols.</li>
11594616d0f9Sopenharmony_ci<li>
11604616d0f9Sopenharmony_ci<a href="https://web.archive.org/web/20190130042457/https://www.hackcraft.net/web/datetime/">Date &amp; Time
11614616d0f9Sopenharmony_ciFormats on the Web</a> surveys web- and Internet-oriented date and time
11624616d0f9Sopenharmony_ciformats.</li>
11634616d0f9Sopenharmony_ci<li>Alphabetic time zone abbreviations should not be used as unique
11644616d0f9Sopenharmony_ciidentifiers for <abbr>UT</abbr> offsets as they are ambiguous in
11654616d0f9Sopenharmony_cipractice. For example, in English-speaking North America
11664616d0f9Sopenharmony_ci"<abbr>CST</abbr>" denotes 6 hours behind <abbr>UT</abbr>,
11674616d0f9Sopenharmony_cibut in China it denotes 8 hours ahead of <abbr>UT</abbr>,
11684616d0f9Sopenharmony_ciand French-speaking North Americans prefer
11694616d0f9Sopenharmony_ci"<abbr title="Heure Normale du Centre">HNC</abbr>" to
11704616d0f9Sopenharmony_ci"<abbr>CST</abbr>". The <code><abbr>tz</abbr></code>
11714616d0f9Sopenharmony_cidatabase contains English abbreviations for many timestamps;
11724616d0f9Sopenharmony_ciunfortunately some of these abbreviations were merely the database maintainers'
11734616d0f9Sopenharmony_ciinventions, and these have been removed when possible.</li>
11744616d0f9Sopenharmony_ci<li>Numeric time zone abbreviations typically count hours east of
11754616d0f9Sopenharmony_ci<abbr>UT</abbr>, e.g., +09 for Japan and
11764616d0f9Sopenharmony_ci&minus;10 for Hawaii. However, the <abbr>POSIX</abbr>
11774616d0f9Sopenharmony_ci<code><abbr>TZ</abbr></code> environment variable uses the opposite convention.
11784616d0f9Sopenharmony_ciFor example, one might use <code><abbr>TZ</abbr>="<abbr
11794616d0f9Sopenharmony_cititle="Japan Standard Time">JST</abbr>-9"</code> and
11804616d0f9Sopenharmony_ci<code><abbr>TZ</abbr>="<abbr title="Hawaii Standard Time">HST</abbr>10"</code>
11814616d0f9Sopenharmony_cifor Japan and Hawaii, respectively. If the
11824616d0f9Sopenharmony_ci<code><abbr>tz</abbr></code> database is available, it is usually better to use
11834616d0f9Sopenharmony_cisettings like <code><abbr>TZ</abbr>="Asia/Tokyo"</code> and
11844616d0f9Sopenharmony_ci<code><abbr>TZ</abbr>="Pacific/Honolulu"</code> instead, as this should avoid
11854616d0f9Sopenharmony_ciconfusion, handle old timestamps better, and insulate you better from
11864616d0f9Sopenharmony_ciany future changes to the rules. One should never set
11874616d0f9Sopenharmony_ci<abbr>POSIX</abbr> <code><abbr>TZ</abbr></code> to a value like
11884616d0f9Sopenharmony_ci<code>"GMT-9"</code>, though, since this would incorrectly imply that
11894616d0f9Sopenharmony_cilocal time is nine hours ahead of <abbr>UT</abbr> and the time zone
11904616d0f9Sopenharmony_ciis called "<abbr>GMT</abbr>".</li>
11914616d0f9Sopenharmony_ci</ul>
11924616d0f9Sopenharmony_ci</section>
11934616d0f9Sopenharmony_ci
11944616d0f9Sopenharmony_ci<section>
11954616d0f9Sopenharmony_ci<h2 id="see-also">See also</h2>
11964616d0f9Sopenharmony_ci<ul>
11974616d0f9Sopenharmony_ci<li><a href="theory.html">Theory and pragmatics of the
11984616d0f9Sopenharmony_ci<code><abbr>tz</abbr></code> code and data</a></li>
11994616d0f9Sopenharmony_ci<li><a href="tz-art.html">Time and the Arts</a></li>
12004616d0f9Sopenharmony_ci</ul>
12014616d0f9Sopenharmony_ci</section>
12024616d0f9Sopenharmony_ci
12034616d0f9Sopenharmony_ci<footer>
12044616d0f9Sopenharmony_ci<hr>
12054616d0f9Sopenharmony_ciThis web page is in the public domain, so clarified as of
12064616d0f9Sopenharmony_ci2009-05-17 by Arthur David Olson.
12074616d0f9Sopenharmony_ci<br>
12084616d0f9Sopenharmony_ciPlease send corrections to this web page to the
12094616d0f9Sopenharmony_ci<a href="mailto:tz@iana.org">time zone mailing list</a>.
12104616d0f9Sopenharmony_ci</footer>
12114616d0f9Sopenharmony_ci</body>
12124616d0f9Sopenharmony_ci</html>
1213