[ietf-calsify] DTSTART in VTIMEZONE STANDARD and DAYLIGHT sub-components - localtime, but which localtime?
Gren Elliot
gren.elliot at scalix.com
Tue Jun 9 08:40:40 PDT 2009
Hi,
I'm looking for clarification as to what localtime means inside a
STANDARD or DAYLIGHT component in the context of the value to assign to
DTSTART, and also hoping that draft-ietf-calsify-rfc2445bis-10 will get
updated to make it clearer in this area. Specifically, if the localtime
is changing from 2am to 3am at the onset time for a VTIMEZONE
sub-component, should DTSTART reflect the 2am time or the 3am time?
I've ended up thinking about this because I'm in the process of testing
out the latest libical code for our use
(http://sourceforge.net/projects/freeassociation/)
With our previous cut of the libical code, timezone information
corresponding to, say, Europe/Zurich used to come from one of libical's
own files :
.../zoneinfo/Europe/Zurich.ics
The new code appears to work from a combination of
/usr/share/zoneinfo/zone.tab and /usr/share/zoneinfo/Europe/Zurich -
which are part of the linux system "tzdata" package. Great, I thought.
I can rely on the OS to keep the timezone info up to date. However, the
timezone I'm getting from this differs from the timezone I used to get.
This is the new version :
BEGIN:VTIMEZONE
TZID:/freeassociation.sourceforge.net/Tzfile/Europe/Zurich
X-LIC-LOCATION:Europe/Zurich
BEGIN:STANDARD
TZNAME:CET
DTSTART:19701025T020000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
END:STANDARD
BEGIN:DAYLIGHT
TZNAME:CEST
DTSTART:19700328T030000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=3
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
END:DAYLIGHT
END:VTIMEZONE
The only difference (apart from component and property ordering) from
the old version is that the DTSTART in the STANDARD component used to be :
DTSTART:19701025T030000
and in the DAYLIGHT component it used to be :
DTSTART:19700329T020000
i.e. The opposite way around to the above...
Looking at http://tools.ietf.org/html/draft-ietf-calsify-rfc2445bis-10
Section 3.6.5, you get this description of what DTSTART should look like
in a VTIMEZONE (section 3.8.2.4 on DTSTART in isolation is similar) :
The mandatory "DTSTART" property gives the effective onset date
and local time for the time zone sub-component definition.
"DTSTART" in this usage MUST be specified as a date with local
time value.
The problem with this is that there are 2 fairly common sense ways of
thinking about what the localtime is at this point. If I want to know
when to change my clock from STANDARD to DAYLIGHT time, I wait until the
time of the change in STANDARD time (say 2am) and spring my clock
forward to 3am at that point.
If, however, I'm looking at the DAYLIGHT component, I'm tempted to think
that localtime for that instant is the localtime in the DAYLIGHT
component - i.e. 3am.
This difference in view seems consistent with the difference between the
new and old VTIMEZONE definitions, however I haven't noticed anything
yet which shouts out which is correct.
Thoughts?
Regards,
Gren Elliot
P.S.
http://www.timeanddate.com/worldclock/city.html?n=268
says that
DST started
<http://www.timeanddate.com/worldclock/clockchange.html?n=268> on
Sunday, 29 March 2009, 02:00 local standard time
DST ends <http://www.timeanddate.com/worldclock/clockchange.html?n=268>
on Sunday, 25 October 2009, 03:00 local daylight time
which would imply that the time is the time just before the onset, which
would imply a world view where the old code was correct.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osafoundation.org/pipermail/ietf-calsify/attachments/20090609/1990bb56/attachment.htm
More information about the ietf-calsify
mailing list