Comment 21 for bug 143784

Revision history for this message
John Eikenberry (jae) wrote :

> The "some conventional local timezone" makes the choice of zone an
> implmentation detail: in Zope's case, we chose UTC.

I disagree with this interpretation of the specification. I believe it states
(though in a somewhat convoluted manner) that the timezone is local when
non-specified.

Here are quotes from the appropriate sections of the specification that I think are relevant to this

Section 4.2.2.1 (General) states:

"In the representations of local time as defined below no provisions have been
made to prevent ambiguities in expressions that result from discontinuities in
the time scale of local time (e.g. daylight saving time)."

Section 4.2.2.2 (Complete representation):

"When the application identifies the need for an expression of local time then
the complete representation shall be a single numeric expression comprising six
digits in the basic format, where [hh] represents hours, [mm] minutes and [ss]
seconds."

Section 4.2.4 (UTC of day):

"To express UTC of day the representations specified in 4.2.2.2 through 4.2.2.4
shall be used, followed immediately, without space, by the UTC designator [Z]."

Section 4.3.2 (Complete representations)

"The zone designator is empty if use is made of local time in accordance with
4.2.2.2 through 4.2.2.4, it is the UTC designator [Z] if use is made of UTC of
day in accordance with 4.2.4 and it is the difference-component if use is made
of local time and the difference from UTC in accordance with 4.2.5.2."

This clearly states that if the time is provided and either no timezone is
given or no Z (UTC designator) is present, then the local timezone is used.

While these areas of the specification are discussing how the time is
represented and interpreted, I think it idicates the use of timezone when
dealing with dates as well as they are implicit in the date. Though this could
possibly be viewed as an implementation detail, I think it is a stretch to
assume that the implicit time also implies an implicit UTC designator or
specified zone when this does counter to the assumed timezone in other cases
where it is non-specified.