[tz] [PROPOSED PATCH] Switch from 'zzz' to '-00' for uninhabited abbr

Paul Eggert eggert at cs.ucla.edu
Sun May 29 21:39:51 UTC 2016


* NEWS, Theory, tz-how-to.html: Document this.
* antarctica (Antarctica/Casey, Antarctica/Davis)
(Antarctica/Mawson, Indian/Kerguelen, Antarctica/DumontDUrville):
(Antarctica/Syowa, Antarctica/Troll, Antarctica/Vostok)
(Antarctica/Rothera):
* australasia (Antarctica/Macquarie):
* backzone (Antarctica/McMurdo):
* northamerica (America/Pangnirtung, America/Iqaluit)
(America/Resolute, America/Rankin_Inlet, America/Cambridge_Bay)
(America/Yellowknife, America/Inuvik):
* southamerica (Antarctica/Palmer):
Use '-00', not 'zzz', to abbreviate UT in uninhabited locations.
---
 NEWS           |  7 +++++++
 Theory         |  7 ++++---
 antarctica     | 24 ++++++++++++------------
 australasia    |  4 ++--
 backzone       |  2 +-
 northamerica   | 14 +++++++-------
 southamerica   |  2 +-
 tz-how-to.html | 16 ++++++++++------
 8 files changed, 44 insertions(+), 32 deletions(-)

diff --git a/NEWS b/NEWS
index b5fb182..54a520d 100644
--- a/NEWS
+++ b/NEWS
@@ -11,6 +11,13 @@ Unreleased, experimental changes
 
   Changes affecting past time stamps
 
+    Locations while uninhabited now use '-00', not 'zzz', as a
+    placeholder time zone abbreviation.  This is inspired by Internet
+    RFC 3339 and is more consistent with numeric time zone
+    abbreviations already used elsewhere.  The change affects several
+    arctic and antarctic locations, e.g., America/Cambridge_Bay before
+    1920 and Antarctica/Troll before 2005.
+
     Asia/Baku's 1992-09-27 transition from +04 (DST) to +04 (non-DST) was
     at 03:00, not 23:00 the previous day.  (Thanks to Michael Deckers.)
 
diff --git a/Theory b/Theory
index 6bed91f..60678fe 100644
--- a/Theory
+++ b/Theory
@@ -227,9 +227,10 @@ in decreasing order of importance:
 			name identifying each zone and append 'T', 'ST', etc.
 			as before; e.g. 'VLAST' for VLAdivostok Summer Time.
 
-	Use UT (with time zone abbreviation 'zzz') for locations while
-		uninhabited.  The 'zzz' mnemonic is that these locations are,
-		in some sense, asleep.
+	Use UT (with time zone abbreviation '-00') for locations while
+		uninhabited.  The leading '-' is a flag that the time
+		zone is in some sense undefined; this notation is
+		derived from Internet RFC 3339.
 
 Application writers should note that these abbreviations are ambiguous
 in practice: e.g. 'CST' has a different meaning in China than
diff --git a/antarctica b/antarctica
index 2af088f..a537832 100644
--- a/antarctica
+++ b/antarctica
@@ -13,7 +13,7 @@
 #
 # Except for the French entries,
 # I made up all time zone abbreviations mentioned here; corrections welcome!
-# FORMAT is 'zzz' and GMTOFF is 0 for locations while uninhabited.
+# FORMAT is '-00' and GMTOFF is 0 for locations while uninhabited.
 
 # Argentina - year-round bases
 # Belgrano II, Confin Coast, -770227-0343737, since 1972-02-05
@@ -67,22 +67,22 @@
 # http://www.timeanddate.com/news/time/antartica-time-changes-2010.html
 
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
-Zone Antarctica/Casey	0	-	zzz	1969
+Zone Antarctica/Casey	0	-	-00	1969
 			8:00	-	AWST	2009 Oct 18  2:00
 						# Australian Western Std Time
 			11:00	-	CAST	2010 Mar  5  2:00  # Casey Time
 			8:00	-	AWST	2011 Oct 28  2:00
 			11:00	-	CAST	2012 Feb 21 17:00u
 			8:00	-	AWST
-Zone Antarctica/Davis	0	-	zzz	1957 Jan 13
+Zone Antarctica/Davis	0	-	-00	1957 Jan 13
 			7:00	-	DAVT	1964 Nov    # Davis Time
-			0	-	zzz	1969 Feb
+			0	-	-00	1969 Feb
 			7:00	-	DAVT	2009 Oct 18  2:00
 			5:00	-	DAVT	2010 Mar 10 20:00u
 			7:00	-	DAVT	2011 Oct 28  2:00
 			5:00	-	DAVT	2012 Feb 21 20:00u
 			7:00	-	DAVT
-Zone Antarctica/Mawson	0	-	zzz	1954 Feb 13
+Zone Antarctica/Mawson	0	-	-00	1954 Feb 13
 			6:00	-	MAWT	2009 Oct 18  2:00 # Mawson Time
 			5:00	-	MAWT
 # References:
@@ -137,7 +137,7 @@ Zone Antarctica/Mawson	0	-	zzz	1954 Feb 13
 #	fishing stations operated variously 1819/1931
 #
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
-Zone Indian/Kerguelen	0	-	zzz	1950 # Port-aux-Français
+Zone Indian/Kerguelen	0	-	-00	1950 # Port-aux-Français
 			5:00	-	TFT	# ISO code TF Time
 #
 # year-round base in the main continent
@@ -148,9 +148,9 @@ Zone Indian/Kerguelen	0	-	zzz	1950 # Port-aux-Français
 # It was destroyed by fire on 1952-01-14.
 #
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
-Zone Antarctica/DumontDUrville 0 -	zzz	1947
+Zone Antarctica/DumontDUrville 0 -	-00	1947
 			10:00	-	PMT	1952 Jan 14 # Port-Martin Time
-			0	-	zzz	1956 Nov
+			0	-	-00	1956 Nov
 			10:00	-	DDUT	# Dumont-d'Urville Time
 
 # France & Italy - year-round base
@@ -176,7 +176,7 @@ Zone Antarctica/DumontDUrville 0 -	zzz	1947
 # was established on 1957-01-29.  Since Syowa station is still the main
 # station of Japan, it's appropriate for the principal location.
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
-Zone Antarctica/Syowa	0	-	zzz	1957 Jan 29
+Zone Antarctica/Syowa	0	-	-00	1957 Jan 29
 			3:00	-	SYOT	# Syowa Time
 # See:
 # NIPR Antarctic Research Activities (1999-08-17)
@@ -226,7 +226,7 @@ Rule	Troll	2005	max	-	Mar	lastSun	1:00u	2:00	CEST
 # Remove the following line when uncommenting the above '#Rule' lines.
 Rule	Troll	2004	max	-	Oct	lastSun	1:00u	0:00	UTC
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
-Zone Antarctica/Troll	0	-	zzz	2005 Feb 12
+Zone Antarctica/Troll	0	-	-00	2005 Feb 12
 			0:00	Troll	%s
 
 # Poland - year-round base
@@ -267,7 +267,7 @@ Zone Antarctica/Troll	0	-	zzz	2005 Feb 12
 # happened to be during their visit.  So we still don't really know what time
 # it is at Vostok.  But we'll guess UTC+6.
 #
-Zone Antarctica/Vostok	0	-	zzz	1957 Dec 16
+Zone Antarctica/Vostok	0	-	-00	1957 Dec 16
 			6:00	-	VOST	# Vostok time
 
 # S Africa - year-round bases
@@ -300,7 +300,7 @@ Zone Antarctica/Vostok	0	-	zzz	1957 Dec 16
 # <http://webexhibits.org/daylightsaving/g.html> says Rothera is -03 all year.
 #
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
-Zone Antarctica/Rothera	0	-	zzz	1976 Dec  1
+Zone Antarctica/Rothera	0	-	-00	1976 Dec  1
 			-3:00	-	ROTT	# Rothera time
 
 # Uruguay - year round base
diff --git a/australasia b/australasia
index 55f44cf..0b33f67 100644
--- a/australasia
+++ b/australasia
@@ -243,11 +243,11 @@ Zone Australia/Lord_Howe 10:36:20 -	LMT	1895 Feb
 # will produce a binary file with an [A]EST-type as the first 32-bit type;
 # this is required for correct handling of times before 1916 by
 # pre-2013 versions of localtime.
-Zone Antarctica/Macquarie 0	-	zzz	1899 Nov
+Zone Antarctica/Macquarie 0	-	-00	1899 Nov
 			10:00	-	AEST	1916 Oct  1  2:00
 			10:00	1:00	AEDT	1917 Feb
 			10:00	Aus	AE%sT	1919 Apr  1  0:00s
-			0	-	zzz	1948 Mar 25
+			0	-	-00	1948 Mar 25
 			10:00	Aus	AE%sT	1967
 			10:00	AT	AE%sT	2010 Apr  4  3:00
 			11:00	-	MIST	# Macquarie I Standard Time
diff --git a/backzone b/backzone
index 296eca8..13dc8d4 100644
--- a/backzone
+++ b/backzone
@@ -395,7 +395,7 @@ Zone America/Tortola	-4:18:28 -	LMT	1911 Jul # Road Town
 			-4:00	-	AST
 
 # McMurdo, Ross Island, since 1955-12
-Zone Antarctica/McMurdo	0	-	zzz	1956
+Zone Antarctica/McMurdo	0	-	-00	1956
 			12:00	NZ	NZ%sT
 Link Antarctica/McMurdo Antarctica/South_Pole
 
diff --git a/northamerica b/northamerica
index 1d7395c..6256f97 100644
--- a/northamerica
+++ b/northamerica
@@ -2191,39 +2191,39 @@ Rule	NT_YK	1980	2006	-	Oct	lastSun	2:00	0	S
 Rule	NT_YK	1987	2006	-	Apr	Sun>=1	2:00	1:00	D
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 # aka Panniqtuuq
-Zone America/Pangnirtung 0	-	zzz	1921 # trading post est.
+Zone America/Pangnirtung 0	-	-00	1921 # trading post est.
 			-4:00	NT_YK	A%sT	1995 Apr Sun>=1  2:00
 			-5:00	Canada	E%sT	1999 Oct 31  2:00
 			-6:00	Canada	C%sT	2000 Oct 29  2:00
 			-5:00	Canada	E%sT
 # formerly Frobisher Bay
-Zone America/Iqaluit	0	-	zzz	1942 Aug # Frobisher Bay est.
+Zone America/Iqaluit	0	-	-00	1942 Aug # Frobisher Bay est.
 			-5:00	NT_YK	E%sT	1999 Oct 31  2:00
 			-6:00	Canada	C%sT	2000 Oct 29  2:00
 			-5:00	Canada	E%sT
 # aka Qausuittuq
-Zone America/Resolute	0	-	zzz	1947 Aug 31 # Resolute founded
+Zone America/Resolute	0	-	-00	1947 Aug 31 # Resolute founded
 			-6:00	NT_YK	C%sT	2000 Oct 29  2:00
 			-5:00	-	EST	2001 Apr  1  3:00
 			-6:00	Canada	C%sT	2006 Oct 29  2:00
 			-5:00	-	EST	2007 Mar 11  3:00
 			-6:00	Canada	C%sT
 # aka Kangiqiniq
-Zone America/Rankin_Inlet 0	-	zzz	1957 # Rankin Inlet founded
+Zone America/Rankin_Inlet 0	-	-00	1957 # Rankin Inlet founded
 			-6:00	NT_YK	C%sT	2000 Oct 29  2:00
 			-5:00	-	EST	2001 Apr  1  3:00
 			-6:00	Canada	C%sT
 # aka Iqaluktuuttiaq
-Zone America/Cambridge_Bay 0	-	zzz	1920 # trading post est.?
+Zone America/Cambridge_Bay 0	-	-00	1920 # trading post est.?
 			-7:00	NT_YK	M%sT	1999 Oct 31  2:00
 			-6:00	Canada	C%sT	2000 Oct 29  2:00
 			-5:00	-	EST	2000 Nov  5  0:00
 			-6:00	-	CST	2001 Apr  1  3:00
 			-7:00	Canada	M%sT
-Zone America/Yellowknife 0	-	zzz	1935 # Yellowknife founded?
+Zone America/Yellowknife 0	-	-00	1935 # Yellowknife founded?
 			-7:00	NT_YK	M%sT	1980
 			-7:00	Canada	M%sT
-Zone America/Inuvik	0	-	zzz	1953 # Inuvik founded
+Zone America/Inuvik	0	-	-00	1953 # Inuvik founded
 			-8:00	NT_YK	P%sT	1979 Apr lastSun  2:00
 			-7:00	NT_YK	M%sT	1980
 			-7:00	Canada	M%sT
diff --git a/southamerica b/southamerica
index fb437b2..1c38f63 100644
--- a/southamerica
+++ b/southamerica
@@ -1309,7 +1309,7 @@ Zone Pacific/Easter	-7:17:28 -	LMT	1890
 # Palmer used to be supplied from Argentina.
 #
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
-Zone Antarctica/Palmer	0	-	zzz	1965
+Zone Antarctica/Palmer	0	-	-00	1965
 			-4:00	Arg	AR%sT	1969 Oct  5
 			-3:00	Arg	AR%sT	1982 May
 			-4:00	Chile	CL%sT
diff --git a/tz-how-to.html b/tz-how-to.html
index 3fa7602..f0fedc5 100644
--- a/tz-how-to.html
+++ b/tz-how-to.html
@@ -466,13 +466,11 @@ offset, so the wall clock time during this period was GMT −
 10:30 + 1:00 = GMT − 9:30.</p>
 
 <p>The <code>FORMAT</code> column specifies the usual abbreviation of
-the time zone name. It can have one of four forms:</p>
+the time zone name. It can have one of three forms:</p>
 <ul>
 
-<li>the string, “<code>zzz</code>,” which is a kind of
-null value (don’t ask)</li>
-
-<li>a single alphabetic string other than “<code>zzz</code>,”
+<li>a string of three or more characters that are either ASCII alphanumerics,
+“<code>+</code>”, or “<code>-</code>”,
 in which case that’s the abbreviation</li>
 
 <li>a pair of strings separated by a slash
@@ -513,7 +511,7 @@ a <code>SAVE</code> of zero.
 
 </ul>
 
-<p>And two last things about the <code>FORMAT</code> column:</p>
+<p>And three last things about the <code>FORMAT</code> column:</p>
 <ul>
 
 <li>The <a href="https://en.wikipedia.org/wiki/Tz_database">tz
@@ -535,6 +533,12 @@ the abbreviations. They are intended to be the values returned through the
 <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/strftime.html"><code>strftime</code></a>
 function in the
 <a href="http://www.chemie.fu-berlin.de/chemnet/use/info/libc/libc_19.html#SEC324">“C” locale</a>.
+
+<li>If there is no generally-accepted abbreviation for a time zone,
+a numeric offset is used instead, e.g., <code>+07</code> for 7 hours
+ahead of Greenwich. By convention, <code>-00</code> stands for an
+zone while uninhabited, where the offset is zero but in some sense
+the true offset is undefined.
 </ul>
 
 <p>As a final example, here’s the complete history for Hawaii:</p>
-- 
2.5.5




More information about the tz mailing list