diff options
Diffstat (limited to 'theory.html')
| -rw-r--r-- | theory.html | 66 |
1 files changed, 44 insertions, 22 deletions
diff --git a/theory.html b/theory.html index 75e347f0f9d1..369c75433ff2 100644 --- a/theory.html +++ b/theory.html @@ -23,7 +23,7 @@ <li><a href="#stability">Interface stability</a></li> <li><a href="#leapsec">Leap seconds</a></li> <li><a href="#calendar">Calendrical issues</a></li> - <li><a href="#planets">Time and time zones on other planets</a></li> + <li><a href="#planets">Time and time zones off earth</a></li> </ul> </nav> @@ -443,11 +443,11 @@ in decreasing order of importance: CAT/CAST Central Africa, CET/CEST/CEMT Central European, ChST Chamorro, - CST/CDT/CWT/CPT/CDDT Central [North America], + CST/CDT/CWT/CPT Central [North America], CST/CDT China, GMT/BST/IST/BDST Greenwich, EAT East Africa, - EST/EDT/EWT/EPT/EDDT Eastern [North America], + EST/EDT/EWT/EPT Eastern [North America], EET/EEST Eastern European, GST/GDT Guam, HST/HDT/HWT/HPT Hawaii, @@ -460,13 +460,13 @@ in decreasing order of importance: MET/MEST Middle European (a backward-compatibility alias for Central European), MSK/MSD Moscow, - MST/MDT/MWT/MPT/MDDT Mountain, + MST/MDT/MWT/MPT Mountain, NST/NDT/NWT/NPT/NDDT Newfoundland, NST/NDT/NWT/NPT Nome, NZMT/NZST New Zealand through 1945, NZST/NZDT New Zealand 1946–present, PKT/PKST Pakistan, - PST/PDT/PWT/PPT/PDDT Pacific, + PST/PDT/PWT/PPT Pacific, PST/PDT Philippine, SAST South Africa, SST Samoa, @@ -494,7 +494,7 @@ in decreasing order of importance: <p> <small>These abbreviations are: AMT Asunción, Athens; - BMT Baghdad, Bangkok, Batavia, Bermuda, Bern, Bogotá, Bridgetown, + BMT Baghdad, Bangkok, Batavia, Bermuda, Bern, Bogotá, Brussels, Bucharest; CMT Calamarca, Caracas, Chisinau, Colón, Córdoba; DMT Dublin/Dunsink; @@ -506,12 +506,13 @@ in decreasing order of importance: IMT Irkutsk, Istanbul; JMT Jerusalem; KMT Kaunas, Kyiv, Kingston; - LMT Lima, Lisbon, local, Luanda; + LMT Lima, Lisbon, local; MMT Macassar, Madras, Malé, Managua, Minsk, Monrovia, Montevideo, Moratuwa, Moscow; PLMT Phù Liễn; PMT Paramaribo, Paris, Perm, Pontianak, Prague; PMMT Port Moresby; + PPMT Port-au-Prince; QMT Quito; RMT Rangoon, Riga, Rome; SDMT Santo Domingo; @@ -519,8 +520,7 @@ in decreasing order of importance: SMT Santiago, Simferopol, Singapore, Stanley; TBMT Tbilisi; TMT Tallinn, Tehran; - WMT Warsaw; - ZMT Zomba.</small> + WMT Warsaw.</small> </p> <p> @@ -791,7 +791,7 @@ href="https://www.dissentmagazine.org/blog/booked-a-global-history-of-time-vanes with days starting at midnight. Although <abbr>UT</abbr> equals <abbr>UTC</abbr> for modern timestamps, <abbr>UTC</abbr> was not defined until 1960, so - commentary uses the more-general abbreviation <abbr>UT</abbr> for + commentary uses the more general abbreviation <abbr>UT</abbr> for timestamps that might predate 1960. Since <abbr>UT</abbr>, <abbr>UT1</abbr>, etc. disagree slightly, and since pre-1972 <abbr>UTC</abbr> seconds varied in length, @@ -818,7 +818,8 @@ href="https://www.dissentmagazine.org/blog/booked-a-global-history-of-time-vanes <li> The relationship between POSIX time (that is, <abbr>UTC</abbr> but ignoring <a href="https://en.wikipedia.org/wiki/Leap_second">leap - seconds</a>) and <abbr>UTC</abbr> is not agreed upon after 1972. + seconds</a>) and <abbr>UTC</abbr> is not agreed upon. + This affects time stamps during the leap second era (1972–2035). Although the POSIX clock officially stops during an inserted leap second, at least one proposed standard has it jumping back a second instead; and in @@ -877,7 +878,7 @@ an older <code>zic</code>. is error-prone in practice. Also, POSIX <code>TZ</code> strings cannot deal with daylight saving time rules not based on the Gregorian calendar (as in - Iran), or with situations where more than two time zone + Morocco), or with situations where more than two time zone abbreviations or <abbr>UT</abbr> offsets are used in an area. </p> @@ -913,8 +914,8 @@ an older <code>zic</code>. <dt><var>date</var>[<code>/</code><var>time</var>]<code>,</code><var>date</var>[<code>/</code><var>time</var>]</dt><dd> specifies the beginning and end of <abbr>DST</abbr>. If this is absent, the system supplies its own ruleset - for <abbr>DST</abbr>, and its rules can differ from year to year; - typically <abbr>US</abbr> <abbr>DST</abbr> rules are used. + for <abbr>DST</abbr>, typically current <abbr>US</abbr> + <abbr>DST</abbr> rules. </dd> <dt><var>time</var></dt><dd> takes the form @@ -974,10 +975,11 @@ an older <code>zic</code>. Traditionally the current <abbr>US</abbr> <abbr>DST</abbr> rules were used to interpret such values, but this meant that the <abbr>US</abbr> <abbr>DST</abbr> rules were compiled into each - program that did time conversion. This meant that when + time conversion package, and when <abbr>US</abbr> time conversion rules changed (as in the United - States in 1987), all programs that did time conversion had to be - recompiled to ensure proper results. + States in 1987 and again in 2007), all packages that + interpreted <code>TZ</code> values had to be updated + to ensure proper results. </li> <li> The <code>TZ</code> environment variable is process-global, which @@ -1173,7 +1175,7 @@ The vestigial <abbr>API</abbr>s are: </li> <li> The functions that are conditionally compiled - if <code>STD_INSPIRED</code> is defined should, at this point, be + if <code>STD_INSPIRED</code> is nonzero should, at this point, be looked on primarily as food for thought. They are not in any sense "standard compatible" – some are not, in fact, specified in <em>any</em> standard. @@ -1240,7 +1242,7 @@ The <code><abbr>tz</abbr></code> code and data supply the following interfaces: Interface changes in a release attempt to preserve compatibility with recent releases. For example, <code><abbr>tz</abbr></code> data files typically do not -rely on recently-added <code>zic</code> features, so that users can +rely on recently added <code>zic</code> features, so that users can run older <code>zic</code> versions to process newer data files. <a href="tz-link.html#download">Downloading the <code><abbr>tz</abbr></code> database</a> describes how releases @@ -1269,6 +1271,18 @@ between now and the future time. <section> <h2 id="leapsec">Leap seconds</h2> <p> +Leap seconds were introduced in 1972 to accommodate the +difference between atomic time and the less regular rotation of the earth. +Unfortunately they caused so many problems with civil +timekeeping that they +are <a href="https://www.bipm.org/en/cgpm-2022/resolution-4">planned +to be discontinued by 2035</a>, with some as-yet-undetermined +mechanism replacing them, perhaps after the year 2135. +Despite their impending obsolescence, a record of leap seconds is still +needed to resolve timestamps from 1972 through 2035. +</p> + +<p> The <code><abbr>tz</abbr></code> code and data can account for leap seconds, thanks to code contributed by Bradley White. However, the leap second support of this package is rarely used directly @@ -1282,12 +1296,12 @@ commonly used by <a href="https://www.ntp.org"><abbr title="Network Time Protocol">NTP</abbr></a> software that adjusts the kernel clock. However, kernel-clock twiddling approximates UTC only roughly, -and systems needing more-precise UTC can use this package's leap +and systems needing more precise UTC can use this package's leap second support directly. </p> <p> -The directly-supported mechanism assumes that <code>time_t</code> +The directly supported mechanism assumes that <code>time_t</code> counts of seconds since the POSIX epoch normally include leap seconds, as opposed to POSIX <code>time_t</code> counts which exclude leap seconds. This modified timescale is converted to <abbr>UTC</abbr> @@ -1348,7 +1362,15 @@ They sometimes disagree. </section> <section> - <h2 id="planets">Time and time zones on other planets</h2> + <h2 id="planets">Time and time zones off Earth</h2> +<p> +The European Space Agency is <a +href='https://www.esa.int/Applications/Navigation/Telling_time_on_the_Moon'>considering</a> +the establishment of a reference timescale for the Moon, which has +days roughly equivalent to 29.5 Earth days, and where relativistic +effects cause clocks to tick slightly faster than on Earth. +</p> + <p> Some people's work schedules have used <a href="https://en.wikipedia.org/wiki/Timekeeping_on_Mars">Mars time</a>. |
