W3C home > Mailing lists > Public > public-qt-comments@w3.org > January 2010

[Bug 5308] [FO 1.1] Timezone Z in format-dateTime()

From: <bugzilla@wiggum.w3.org>
Date: Wed, 13 Jan 2010 12:26:19 +0000
To: public-qt-comments@w3.org
Message-Id: <E1NV2Il-0008Cj-8T@wiggum.w3.org>

--- Comment #7 from Michael Kay <mike@saxonica.com>  2010-01-13 12:26:18 ---
The proposed resolution is as follows.

1. rename the $country argument as $place, with consequent changes to the
places where it is referenced. Change the last paragraph of ("The
intended use of the country argument...") to:

The intended use of the $place argument is to identify where an event
represented by the dateTime, date, or time supplied in the $value argument took
place or will take place. If the value is supplied, and is not the empty
sequence, then it should be either a country code or an Olson timezone name:

* Country codes are defined in [ISO 3166-1]. Examples are "de" for Germany and
"jp" for Japan. Implementations may also allow the use of codes representing
subdivisions of a country from ISO 3166-2, or codes representing formerly used
names of countries from ISO 3166-3. 

* Olson time-zone names are defined in the public-domain tz timezone database
(see [http://www.twinsun.com/tz/tz-link.htm]). Examples are America/New_York
and Europe/Rome.

This argument is not intended to identify the location of the user for whom the
date or time is being formatted; that should be done by means of the language
attribute. This information may be used to provide additional information when
converting dates between calendars or when deciding how individual components
of the date and time are to be formatted. For example, different countries
using the Old Style (Julian) calendar started the new year on different days,
and some countries used variants of the calendar that were out of
synchronization as a result of differences in calculating leap years.

The geographical area identified by a country code is defined by the boundaries
as they existed at the time of the date to be formatted, or the present-day
boundaries for dates in the future.

If the $place argument is supplied in the form of an Olson time-zone name that
is recognized by the implementation, then the date or time being formatted is
adjusted to the time zone offset applicable in that time zone. For example, if
the dateTime 2010-02-15T12:00:00Z is formatted with the $place argument set to
America/New_York, then the output will be as if the value
2010-02-15T07:00:00-05:00 had been supplied. This adjustment takes daylight
savings time into account where possible; if the date in question falls during
daylight savings time in New York, then it is adjusted to timezone offset -PT4H
rather than -PT5H. Adjustment using daylight savings time is only possible
where the value includes a date, and where the date is within the range covered
by the timezone database.

2. Change the description of format designator "z" so that it produces the same
output as "Z", except that when the format is numeric, the value is preceded by
"GMT" or a localized equivalent: for example +5 becomes GMT+5, while +05:00
becomes GMT+05:00.

3. For format designator "Z", allow a wider range of presentation modifiers,
and define their interpretation as follows:

(a) One or two digits to indicate a time offset shown in hours, for example Z1
or Z01 resulting in the output -5 or -05. If the actual timezone offset is not
an integral number of hours, the minutes will be added automatically, separated
by a colon, for example +10:30.

(b) Two numbers separated by a grouping separator (any non-alphanumeric
character, see format-integer() for definition, but not "]") to indicate a time
zone offset always shown in hours and minutes, with a defined separator: for
example Z01:01 resulting in the output +12:30 or -05:00.

(c) A 3- or 4- digit number with no grouping separator to indicate a time zone
offset shown in hours and minutes with no separator, for example Z0001 results
in +0500 or -1030.

(d) The value Z to indicate a military timezone (where Z, Zulu time, represents
+00:00, A represents +01:00, and so on.) An extra half hour is indicated by an
asterisk, for example ZZ causes +11:30 to be output as L*. Time zone offsets
that are not multiples of a half hour cannot be represented using this

(e) The value N to indicate a timezone name, such as EST or CET. The same
timezone offset has different names in different places: it is therefore
*recommended* that this option should only be used if a country code or Olson
timezone name is supplied in the $place argument. In the absence of this
information, the implementation may apply a default, for example by using the
timezone names that are conventional in North America.

The effect of other presentation modifiers and of the width specifier for
component Z is implementation-defined.

[Examples illustrating these rules will be added]

Configure bugmail: http://www.w3.org/Bugs/Public/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
Received on Wednesday, 13 January 2010 12:26:24 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 16:57:29 UTC