[tz] Reason for removal of several TZ

Paul Eggert eggert at cs.ucla.edu
Mon Dec 4 00:45:19 UTC 2017

Thomas M Steenholdt wrote:
> WGT/WGST seems to be a widely accepted abbreviation for the West
> Greenland Time zone.

As far as I can see, it's an invented abbreviation propagated from tzdata, and 
there isn't much independent support for it. I've been trying to omit these 
inventions, as tzdata should record timekeeping not invent it.

> the removal causes certain things to go belly up

Which things went belly up? Details might be helpful.

Tim mentioned that we've been trying to omit invented abbreviations. In response 
to your email I reviewed them, and see one that should change (namely, "BOST" 
for Bolivia Summer Time 1931-2, should be "BST" to be consistent with 
abbreviations used elsewhere; we can't change it to numeric due to POSIX 
limits). There is at least one other abbreviation ("SET" for Swedish Time 
1879-99) that I'm suspicious of, but not enough to try to change it now. At any 
rate, now that I've pretty much finished the job we should document the 
alphabetic abbreviations used. To give that a go I installed the attached patch 
into the development version on GitHub.
-------------- next part --------------
From c65c55705f9e0325ad7aaaa2caeaf38bd6b805d4 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert at cs.ucla.edu>
Date: Sun, 3 Dec 2017 16:30:48 -0800
Subject: [PATCH] Better document the alphabetic abbreviations in use

* 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.
 NEWS         |   9 +++++
 asia         |   4 +-
 southamerica |   2 +-
 theory.html  | 117 +++++++++++++++++++++++++++++++++++++++++++----------------
 tz-link.htm  |   4 +-
 5 files changed, 100 insertions(+), 36 deletions(-)

diff --git a/NEWS b/NEWS
index 438160f..239dd33 100644
--- a/NEWS
+++ b/NEWS
@@ -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
@@ -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
diff --git a/asia b/asia
index 91076fd..0c02631 100644
--- a/asia
+++ b/asia
@@ -2066,8 +2066,8 @@ Zone Asia/Kuching	7:21:20	-	LMT	1926 Mar
 # Maldives
-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
diff --git a/southamerica b/southamerica
index e0b3265..d8c15d3 100644
--- a/southamerica
+++ b/southamerica
@@ -579,7 +579,7 @@ Link America/Curacao America/Aruba
 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
diff --git a/theory.html b/theory.html
index 3e686a0..c432cc9 100644
--- a/theory.html
+++ b/theory.html
@@ -240,7 +240,7 @@ to name time
 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° east
 longitude, this relationship is not exact.
@@ -279,7 +279,7 @@ Here are the general rules used for choosing time zone abbreviations,
 in decreasing order of importance:
-	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
@@ -308,12 +308,93 @@ in decreasing order of importance:
 		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,
+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,
+JST/JDT Japan,
+KST/KDT Korea,
+MET/MEST Middle European (a backward-compatibility alias for Central European),
+MSK/MSD Moscow,
+NST/NDT/NWT/NPT/NDDT Newfoundland,
+NZMT/NZST New Zealand through 1945,
+NZST/NZDT New Zealand 1946–present,
+PKT/PKST Pakistan,
+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>
 	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–1932, MMT/MST/MDST for Moscow 1880–1919, and RMT/LST
+for Riga Mean Time and Latvian Summer time 1880–1926.
+An extra-special case is SET for Swedish Time (<em>svensk
+normaltid</em>) 1879–1899, 3° west of the Stockholm
 	Use 'LMT' for local mean time of locations before the introduction
@@ -340,32 +421,6 @@ in decreasing order of importance:
 		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 <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.]
-  <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>
 	Use UT (with time zone abbreviation '<code>-</code>00') for
 		locations while uninhabited.  The leading
diff --git a/tz-link.htm b/tz-link.htm
index edf8eec..604eb1b 100644
--- a/tz-link.htm
+++ b/tz-link.htm
@@ -865,7 +865,7 @@ both <abbr title="Locale Data Markup Language">LDML</abbr>
 the international standard date and time notation</a> is a good
 summary of
 8601:2004 – Data elements and interchange formats – Information
 interchange – Representation of dates and times</em></a>.</li>
@@ -897,7 +897,7 @@ and French-speaking North Americans prefer
 "<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
 −10 for Hawaii. However, the <abbr>POSIX</abbr>

More information about the tz mailing list