Updated Australian time zone names/strings

Robbin Kawabata Robbin.Kawabata at eng.sun.com
Fri May 4 17:53:57 UTC 2001


> From eggert at twinsun.com  Thu May  3 15:43:17 2001
> From: Paul Eggert <eggert at twinsun.com>
> 
> > From: "Olson, Arthur David (NCI)" <olsona at dc37a.nci.nih.gov>
> > Date: Thu, 3 May 2001 10:03:51 -0400 
> 
> > Another possibility would be a separate environment variable that, if
> > defined, would request numeric abbreviations. This has the advantage (and
> > disadvantage) of providing for some system-level control: putting
> > 	TZNUMERIC=1
> > (or whatever) in the system-wide startup file would buy numeric
> > abbreviations no matter what TZ value a particular user set up (unless, of
> > course, the user undid the TZNUMERIC).
> 
> I can seem some problems with this approach.  For example, I've
> written shell commands like this:
> 
>    LC_ALL=C TZ=GMT0 date
> 
> in order to get a string like the following reliably, in all environments
> (even those where "date -u" doesn't work):
> 
>    Thu May  3 22:32:37 GMT 2001
> 
> But with TZNUMERIC, the output might look like this instead:
> 
>    Thu May  3 22:32:37 +0000 2001
> 
> and the extra data might mess up the output format.
> 
> 
> The Theory file says the following about TZ, explaining why the tz
> code uses TZ rather than some other environment variable.
> 
> 	It was recognized that allowing the "TZ" environment variable to
> 	take on values such as "America/New_York" might cause "old" programs
> 	(that expect "TZ" to have a certain form) to operate incorrectly;
> 	consideration was given to using some other environment variable
> 	(for example, "TIMEZONE") to hold the string used to generate the
> 	time zone information file name.  In the end, however, it was decided
> 	to continue using "TZ":  it is widely used for time zone purposes;
> 	separately maintaining both "TZ" and "TIMEZONE" seemed a nuisance;
> 	and systems where "new" forms of "TZ" might cause problems can simply
> 	use TZ values such as "EST5EDT" which can be used both by
> 	"new" programs (a la POSIX) and "old" programs (as zone names and
> 	offsets).
> 
> Isn't this argument still sound, and doesn't it argue against moving
> the functionality into a new environment variable like TZNUMERIC?

Also, TZNUMERIC would violate POSIX.  POSIX says date.1 and strftime() 
should use the TZ variable.  The %Z specifier for date.1 and strftime() 
(which prints the timezone abbreviation), should key off the TZ variable.

Robbin






More information about the tz mailing list