Subject: [Ietf-calsify] Section 4.6.5 Time Zone Component: DATE-TIME form required for RDATE

From: bernard.desruisseaux at oracle.com (Bernard Desruisseaux)
Date: Wed Feb 7 07:27:34 2007

In section 4.6.5 Time Zone Component of RFC 2445 it says:

 > Alternatively, the "RDATE" property can be used to define the onset
 > of the observance by giving the individual onset date and times.
 > "RDATE" in this usage MUST be specified as a local DATE-TIME value in
 > UTC time.

That's right!  A *local* DATE-TIME value in *UTC* time!

Given that all the RDATE properties in the VTIMEZONE examples are
specified as local DATE-TIME values, and given that I have never
seen an RDATE specified as a date with UTC time in a VTIMEZONE
component I propose to change this text as follows:

 > Alternatively, the "RDATE" property can be used to define the onset
 > of the observance by giving the individual onset date and times.
 > "RDATE" in this usage MUST be specified as a local DATE-TIME value.

Cheers,
Bernard

---

From: reinhold at kainhofer.com (Reinhold Kainhofer)
Date: Wed Feb 7 08:42:28 2007

> That's right!  A *local* DATE-TIME value in *UTC* time!

Ouch!

>  > "RDATE" in this usage MUST be specified as a local DATE-TIME value.

Right, all VTIMEZONE snipplets that I have seen do it like this. However, I 
think it should still be further clarified. In particular, I would write 
"...MUST be specified as a local DATE-TIME value with the offset used before 
the change occurs.". (or some better wording, as I'm no native speaker)

I think that's important in particular as DST shift (for example when the 
shift is from 02:00 to 03:00, as it is the case here in Europe/Vienna, where 
the shift occur collectively at 01:00 UTC on the defined days) is usually 
defined as: The time one second after 01:59:59 is 03:00:00, so there is no 
02:00:00 local time (which is, however, used as the RDATE). [1]

[1] Ofiicially, the DST is defined as beginning at 01:00 UTC, so that time 
already uses the new offset and there is really no 02:00:00 when the clock is 
changed forward: 
http://europa.eu.int/eur-lex/pri/en/oj/dat/2001/l_031/l_03120010202en00210022.pdf

- -- 
- ------------------------------------------------------------------
Reinhold Kainhofer, Vienna University of Technology, Austria
email: [email-masked], http://reinhold.kainhofer.com/
 * Financial and Actuarial Mathematics, TU Wien, http://www.fam.tuwien.ac.at/
 * K Desktop Environment, http://www.kde.org, KOrganizer maintainer
 * Chorvereinigung "Jung-Wien", http://www.jung-wien.at/

---

From: cyrus at daboo.name (Cyrus Daboo)
Date: Wed Feb 7 10:04:39 2007

Hi Reinhold,

--On February 7, 2007 5:40:57 PM +0100 Reinhold Kainhofer 
<[email-masked]> wrote:

> Right, all VTIMEZONE snipplets that I have seen do it like this. However,
> I  think it should still be further clarified. In particular, I would
> write  "...MUST be specified as a local DATE-TIME value with the offset
> used before  the change occurs.". (or some better wording, as I'm no
> native speaker)

It MUST be relative to the TZOFFSETFROM offset in the containing component.

So I propose modifying Bernard's proposed text to:

    Alternatively, the "RDATE" property can be used to define the onset of
    the observance by giving the individual onset date and times. "RDATE"
    in this usage MUST be specified as a local DATE-TIME value, relative to
    the UTC offset specified in the TZOFFSETFROM property.

-- 
Cyrus Daboo

---

From: bernard.desruisseaux at oracle.com (Bernard Desruisseaux)
Date: Wed Feb 7 10:41:31 2007

Cyrus,

Here's a different approach to address the issue raised by Reinhold.

Earlier in section 4.6.5 Time Zone Component of RFC 2445 it says:

 > The mandatory "TZOFFSETFROM" property gives the UTC offset which is
 > in use when the onset of this time zone observance begins.
 > "TZOFFSETFROM" is combined with "DTSTART" to define the effective
 > onset for the time zone sub-component definition.

I propose to change this text to mention "RDATE" and "RRULE" in
addition to "DTSTART".

Proposed new text:

 > The mandatory "TZOFFSETFROM" property gives the UTC offset which is
 > in use when the onset of this time zone observance begins.
 > "TZOFFSETFROM" is combined with "DTSTART", "RDATE", and "RRULE"
 > to define the effective onset date and times for the time zone
 > sub-component definition.

Furthermore, in section 4.6.5 Time Zone Component of RFC 2445 it says:

 > - The "DTSTART" and the "TZOFFSETTO" properties MUST be used
 > when generating the onset date-time values (instances) from the
 > RRULE.

It is actually "TZOFFSETFROM" that must be used here. As stated
earlier in the section:

 > "TZOFFSETFROM" is combined with "DTSTART" to define the effective
 > onset for the time zone sub-component definition.

Proposed new text:

 > - The "DTSTART" and the "TZOFFSETFROM" properties MUST be used
 > when generating the onset date-time values (instances) from the
 > RRULE.

Cheers,
Bernard

P.S. That makes 3 proposed changes if you count the one in my
      previous message.