Skip to content

Commit

Permalink
Better document the alphabetic abbreviations in use
Browse files Browse the repository at this point in the history
* NEWS: Mention changes.
* southamerica (America/La_Paz):
Use BST (not BOST) for Bolivia Summer Time 1931-2.
* theory.html (Time zone abbreviations):
Document 6-char limit.  List abbreviations used.
* tz-link.htm (Time notation):
The abbreviation-removal project is done.
  • Loading branch information
eggert committed Dec 4, 2017
1 parent a5a40b4 commit c65c557
Show file tree
Hide file tree
Showing 5 changed files with 100 additions and 36 deletions.
9 changes: 9 additions & 0 deletions NEWS
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@ Unreleased, experimental changes
with the 'africa' and 'zone1970.tab' files. (Problem reported by
Michael Deckers.)

The abbreviation invented for Bolivia Summer Time (1931-2) is now
BST instead of BOST, to be more consistent with the convention
used for Latvian Summer Time (1918-9) and for British Summer Time.

Changes to build procedure

The default installation procedure no longer creates the
Expand All @@ -35,6 +39,11 @@ Unreleased, experimental changes
zic has been ported to GCC 8's -Wstringop-truncation option.
(Problem reported by Martin Sebor.)

Changes to documentation and commentary

The theory.html file now mentions the POSIX limit of six chars
per abbreviation, and lists alphabetic abbreviations used.


Release 2017c - 2017-10-20 14:49:34 -0700

Expand Down
4 changes: 2 additions & 2 deletions asia
Original file line number Diff line number Diff line change
Expand Up @@ -2066,8 +2066,8 @@ Zone Asia/Kuching 7:21:20 - LMT 1926 Mar

# Maldives
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Indian/Maldives 4:54:00 - LMT 1880 # Male
4:54:00 - MMT 1960 # Male Mean Time
Zone Indian/Maldives 4:54:00 - LMT 1880 # Malé
4:54:00 - MMT 1960 # Malé Mean Time
5:00 - +05

# Mongolia
Expand Down
2 changes: 1 addition & 1 deletion southamerica
Original file line number Diff line number Diff line change
Expand Up @@ -579,7 +579,7 @@ Link America/Curacao America/Aruba
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone America/La_Paz -4:32:36 - LMT 1890
-4:32:36 - CMT 1931 Oct 15 # Calamarca MT
-4:32:36 1:00 BOST 1932 Mar 21 # Bolivia ST
-4:32:36 1:00 BST 1932 Mar 21 # Bolivia ST
-4:00 - -04

# Brazil
Expand Down
117 changes: 86 additions & 31 deletions theory.html
Original file line number Diff line number Diff line change
Expand Up @@ -240,7 +240,7 @@ <h2 id="naming">Names of time zone rules</h2>
zone rules. It is intended to be an exhaustive list of names for
geographic regions as described above; this is a subset of the names
in the data. Although a '<code>zone1970.tab</code>' location's longitude
corresponds to its LMT offset with one hour for every 15 degrees east
corresponds to its LMT offset with one hour for every 15&deg; east
longitude, this relationship is not exact.
</p>

Expand Down Expand Up @@ -279,7 +279,7 @@ <h2 id="abbreviations">Time zone abbreviations</h2>
in decreasing order of importance:
<ul>
<li>
Use three or more characters that are ASCII alphanumerics or
Use three to six characters that are ASCII alphanumerics or
'<code>+</code>' or '<code>-</code>'.
Previous editions of this database also used characters like
'<code> </code>' and '<code>?</code>', but these
Expand Down Expand Up @@ -308,12 +308,93 @@ <h2 id="abbreviations">Time zone abbreviations</h2>
We assume that applications translate them to other languages
as part of the normal localization process; for example,
a French application might translate 'EST' to 'HNE'.

<p><small>These abbreviations (for standard/daylight/etc. time) are:
ACST/ACDT Australian Central,
AST/ADT/APT/AWT/ADDT Atlantic,
AEST/AEDT Australian Eastern,
AHST/AHDT Alaska-Hawaii,
AKST/AKDT Alaska,
AWST/AWDT Australian Western,
BST/BDT Bering,
CAT/CAST Central Africa,
CET/CEST/CEMT Central European,
ChST Chamorro,
CST/CDT/CWT/CPT/CDDT Central [North America],
CST/CDT China,
GMT/BST/BDST Greenwich,
EAT East Africa,
EST/EDT/EWT/EPT/EDDT Eastern [North America],
EET/EEST Eastern European,
GST Guam,
HST/HDT Hawaii,
HKT/HKST Hong Kong,
IST India,
IST/IDT/IDDT Israel,
JST/JDT Japan,
KST/KDT Korea,
MET/MEST Middle European (a backward-compatibility alias for Central European),
MSK/MSD Moscow,
MST/MDT/MWT/MPT/MDDT Mountain,
NST/NDT/NWT/NPT/NDDT Newfoundland,
NZMT/NZST New Zealand through 1945,
NZST/NZDT New Zealand 1946&ndash;present,
PKT/PKST Pakistan,
PST/PDT/PWT/PPT/PDDT Pacific,
SAST South Africa,
SST Samoa,
WAT/WAST West Africa,
WET/WEST/WEMT Western European,
WIB Waktu Indonesia Barat,
WIT Waktu Indonesia Timur,
WITA Waktu Indonesia Tengah,
YST/YDT/YWT/YPT/YDDT Yukon</small>.</p>
</li>
<li>
For zones whose times are taken from a city's longitude, use the
traditional <var>x</var>MT notation, e.g. 'PMT' for
Paris Mean Time.
The only name like this in current use is 'GMT'.
traditional <var>x</var>MT notation. The only abbreviation like this
in current use is 'GMT'. The others are for timestamps before 1960,
except that Monrovia Mean Time persisted until 1972. Typically,
numeric abbreviations (e.g., '<code>-</code>004430' for MMT) would
cause trouble here, as the numeric strings would exceed the POSIX length limit.

<p><small>These abbreviations are:
AMT Amsterdam, Asunción, Athens;
BMT Baghdad, Bangkok, Batavia, Bern, Bogotá, Bridgetown, Brussels, Bucharest;
CMT Calamarca, Caracas, Chisinau, Colón, Copenhagen, Córdoba;
DMT Dublin;
EMT Easter;
FFMT Fort-de-France;
FMT Funchal;
GMT Greenwich;
HMT Havana, Helsinki, Horta, Howrah;
IMT Irkutsk, Istanbul;
JMT Jerusalem;
KMT Kaunas, Kiev, Kingston;
LMT Lima, Lisbon, local, Luanda;
MMT Macassar, Madras, Malé, Managua, Minsk, Monrovia, Montevideo, Moratuwa,
Moscow;
PLMT Phù Liễn;
PMT Paramaribo, Paris, Perm, Pontianak, Prague;
PMMT Port Moresby;
QMT Quito;
RMT Rangoon, Riga, Rome;
SDMT Santo Domingo;
SJMT San José;
SMT Santiago, Simferopol, Singapore, Stanley;
TBMT Tbilisi;
TMT Tallinn, Tehran;
WMT Warsaw</small>.</p>

<p><small>A few abbreviations also follow the pattern that
GMT/BST/BDST established for time in the UK. They are:

CMT/BST for Calamarca Mean Time and Bolivian Summer Time
1890&ndash;1932, MMT/MST/MDST for Moscow 1880&ndash;1919, and RMT/LST
for Riga Mean Time and Latvian Summer time 1880&ndash;1926.
An extra-special case is SET for Swedish Time (<em>svensk
normaltid</em>) 1879&ndash;1899, 3&deg; west of the Stockholm
Observatory.</small></p>
</li>
<li>
Use 'LMT' for local mean time of locations before the introduction
Expand All @@ -340,32 +421,6 @@ <h2 id="abbreviations">Time zone abbreviations</h2>
history tends to use numeric abbreviations and a particular
entry could go either way, use a numeric abbreviation.
</li>
</ul>
[The remaining guidelines predate the introduction of <code>%z</code>.
They are problematic as they mean tz data entries invent
notation rather than record it. These guidelines are now
deprecated and the plan is to gradually move to <code>%z</code> for
inhabited locations and to "<code>-</code>00" for uninhabited locations.]
<ul>
<li>
If there is no common English abbreviation, abbreviate the English
translation of the usual phrase used by native speakers.
If this is not available or is a phrase mentioning the country
(e.g. "Cape Verde Time"), then:
<ul>
<li>
When a country is identified with a single or principal zone,
append 'T' to the country's ISO code, e.g. 'CVT' for
Cape Verde Time. For summer time append 'ST';
for double summer time append 'DST'; etc.
</li>
<li>
Otherwise, take the first three letters of an English place
name identifying each zone and append 'T', 'ST', etc.
as before; e.g. 'CHAST' for CHAtham Summer Time.
</li>
</ul>
</li>
<li>
Use UT (with time zone abbreviation '<code>-</code>00') for
locations while uninhabited. The leading
Expand Down
4 changes: 2 additions & 2 deletions tz-link.htm
Original file line number Diff line number Diff line change
Expand Up @@ -865,7 +865,7 @@ <h2 id="notation">Time notation</h2>
the international standard date and time notation</a> is a good
summary of
<a
href="https://www.iso.org/standard/40874.html"><abbr><em>ISO</abbr>
href="https://www.iso.org/standard/40874.html"><em><abbr>ISO</abbr>
8601:2004 &ndash; Data elements and interchange formats &ndash; Information
interchange &ndash; Representation of dates and times</em></a>.</li>
<li>
Expand Down Expand Up @@ -897,7 +897,7 @@ <h2 id="notation">Time notation</h2>
"<abbr>CST</abbr>". The <code><abbr>tz</abbr></code>
database contains English abbreviations for many time stamps;
unfortunately some of these abbreviations were merely the database maintainers'
inventions, and are gradually being removed.</li>
inventions, and these have been removed when possible.</li>
<li>Numeric time zone abbreviations typically count hours east of
<abbr>UT</abbr>, e.g., +09 for Japan and
&minus;10 for Hawaii. However, the <abbr>POSIX</abbr>
Expand Down

0 comments on commit c65c557

Please sign in to comment.