TZ environment variable
Mark Davis
mark.davis at jtcsv.com
Tue May 10 14:41:28 UTC 2005
Ok, now I understand. We don't use that field, so we have no opinion on it.
Mark
----- Original Message -----
From: "Paul Eggert" <eggert at CS.UCLA.EDU>
To: "Mark Davis" <mark.davis at jtcsv.com>
Cc: "Tz (tz at elsie.nci.nih.gov)" <tz at lecserver.nci.nih.gov>
Sent: Monday, May 09, 2005 21:29
Subject: Re: TZ environment variable
> "Mark Davis" <mark.davis at jtcsv.com> writes:
>
> > I'm a little fuzzy about what you are talking about.
>
> We're talking about the time zone abbreviation. For example, on my host:
>
> $ echo $TZ
> America/Los_Angeles
> $ date -u; date
> Tue May 10 03:58:35 UTC 2005
> Mon May 9 20:58:35 PDT 2005
>
> Here we're talking about the strings "UTC" and "PDT". We're not
> talking about "America/Los_Angeles", or "Pacific Time", or "Pacific
> Daylight Time", or anything like that.
>
> POSIX says time zone abbreviations must be at least 3 bytes, and
> cannot be more than TZNAME_MAX bytes, and must contain only
> "alphanumeric characters from the portable character set in the
> current locale, the plus-sign ('+') character, or the minus-sign ('-')
> character". In practice this set is just the ASCII letters, digits,
> "-", and "+". TZNAME_MAX must be at least 6; a value of 255 is common
> on BSD hosts.
>
> The common practice of an abbreviation like "CET DST" is not a
> portable POSIX time zone abbreviation, for two reasons. First, it
> contains a space. Second, it's longer than 6 bytes. POSIX requires
> "CEST" or something like that.
>
> Implementations can support abbreviations like "CET DST" as
> extensions. The question is whether to allow such extensions,
> including really weird abbreviations such as abbreviations containing
> newlines, or empty abbreviations. These can cause real problems in
> practice.
>
> Even "CET DST" can cause problems, and various implementations treat
> it differently. For example:
>
> $ date -u; TZ='CET DST8' date # Solaris 8
> Tue May 10 04:09:27 GMT 2005
> Tue May 10 04:09:27 CET 2005
>
> Ouch! That "CET" looks like a bug to me. Fixed on Solaris 10:
>
> $ date -u; TZ='CET DST8' date # Solaris 10
> Tue May 10 04:09:40 GMT 2005
> Tue May 10 04:09:40 GMT 2005
>
>
More information about the tz
mailing list