Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. =================================================================== RCS file: /ftp/cvs/cvsroot/src/lib/libc/time/Theory,v rcsdiff: /ftp/cvs/cvsroot/src/lib/libc/time/Theory,v: warning: Unknown phrases like `commitid ...;' are present. retrieving revision 1.22 retrieving revision 1.23 diff -u -p -r1.22 -r1.23 --- src/lib/libc/time/Theory 2016/10/20 17:41:34 1.22 +++ src/lib/libc/time/Theory 2017/03/11 18:23:14 1.23 @@ -8,6 +8,7 @@ Theory and pragmatics of the tz code and Time zone abbreviations Accuracy of the tz database Time and date functions + Interface stability Calendrical issues Time and time zones on Mars @@ -39,7 +40,7 @@ international standard for UNIX-like sys current edition of POSIX is: The Open Group Base Specifications Issue 7 - IEEE Std 1003.1, 2013 Edition + IEEE Std 1003.1-2008, 2016 Edition @@ -208,6 +209,19 @@ in decreasing order of importance: If there is no common English abbreviation, use numeric offsets like -05 and +0830 that are generated by zic's %z notation. + Use current abbreviations for older timestamps to avoid confusion. + For example, in 1910 a common English abbreviation for UT +01 + in central Europe was 'MEZ' (short for both "Middle European + Zone" and for "Mitteleuropäische Zeit" in German). Nowadays + 'CET' ("Central European Time") is more common in English, and + the database uses 'CET' even for circa-1910 timestamps as this + is less confusing for modern users and avoids the need for + determining when 'CET' supplanted 'MEZ' in common usage. + + Use a consistent style in a zone's history. For example, if a zone's + history tends to use numeric abbreviations and a particular + entry could go either way, use a numeric abbreviation. + [The remaining guidelines predate the introduction of %z. They are problematic as they mean tz data entries invent notation rather than record it. These guidelines are now @@ -225,7 +239,7 @@ in decreasing order of importance: for double summer time append 'DST'; etc. Otherwise, take the first three letters of an English place name identifying each zone and append 'T', 'ST', etc. - as before; e.g. 'VLAST' for VLAdivostok Summer Time. + as before; e.g. 'CHAST' for CHAtham Summer Time. Use UT (with time zone abbreviation '-00') for locations while uninhabited. The leading '-' is a flag that the time @@ -342,17 +356,29 @@ Errors in the tz database arise from man non-hour-based system at night. * Early clocks were less reliable, and data entries do not represent - this unreliability. + clock error. - * As for leap seconds, civil time was not based on atomic time before - 1972, and we don't know the history of earth's rotation accurately - enough to map SI seconds to historical solar time to more than - about one-hour accuracy. See: Morrison LV, Stephenson FR. - Historical values of the Earth's clock error Delta T and the - calculation of eclipses. J Hist Astron. 2004;35:327-36 - ; - Historical values of the Earth's clock error. J Hist Astron. 2005;36:339 - . + * The tz database assumes Universal Time (UT) as an origin, even + though UT is not standardized for older time stamps. In the tz + database commentary, UT denotes a family of time standards that + includes Coordinated Universal Time (UTC) along with other variants + such as UT1 and GMT, with days starting at midnight. Although UT + equals UTC for modern time stamps, UTC was not defined until 1960, + so commentary uses the more-general abbreviation UT for time stamps + that might predate 1960. Since UT, UT1, etc. disagree slightly, + and since pre-1972 UTC seconds varied in length, interpretation of + older time stamps can be problematic when subsecond accuracy is + needed. + + * Civil time was not based on atomic time before 1972, and we don't + know the history of earth's rotation accurately enough to map SI + seconds to historical solar time to more than about one-hour + accuracy. See: Stephenson FR, Morrison LV, Hohenkerk CY. + Measurement of the Earth's rotation: 720 BC to AD 2015. + Proc Royal Soc A. 2016 Dec 7;472:20160404. + http://dx.doi.org/10.1098/rspa.2016.0404 + Also see: Espenak F. Uncertainty in Delta T (T). + http://eclipse.gsfc.nasa.gov/SEhelp/uncertainty2004.html * The relationship between POSIX time (that is, UTC but ignoring leap seconds) and UTC is not agreed upon after 1972. Although the POSIX @@ -601,10 +627,14 @@ The tz code and data supply the followin * The format of the country code file, documented in iso3166.tab. -When these interfaces are changed, an effort is made to preserve -backward compatibility. For example, tz data files typically do not -rely on recently-added zic features, so that users can run older zic -versions to process newer data files. + * The version number of the code and data, as the first line of + the text file 'version' in each release. + +Interface changes in a release attempt to preserve compatibility with +recent releases. For example, tz data files typically do not rely on +recently-added zic features, so that users can run older zic versions +to process newer data files. The tz-link.htm file describes how +releases are tagged and distributed. Interfaces not listed above are less stable. For example, users should not rely on particular UT offsets or abbreviations for time