[Ietf-calsify] 2nd and higher instance busted across time zone changes.

Sam Roberts sroberts at uniserve.com
Sun Apr 10 18:49:52 PDT 2005

Quoting lennox at cs.columbia.edu, on Sat, Apr 09, 2005 at 11:14:35PM -0400:
> On Saturday, April 9 2005, "Doug Royer" wrote to "ietf-calsify at osafoundation.org" saying:
> > In CALSIFY I am proposing that we say that DURATION = DTEND - DTSTART
> > as the way to process RDATE and any 2445 RRULE found. It ~looks~
> > to me as if that is how most implementations did it.
> That's certainly the simpler way to do it, and possibly the best-defined
> way.

But even saying DURATION = DTEND - DTSTART isn't sufficient.

We need to specify how the subtraction is done when DTEND and DTSTART
straddle a time shift, and warn implementors to consider the issue I
think that the DURATION should be in *absolute* time. I.e., 10AM - 5AM
is 5 hours only if there really are 5 hours between them, and not 4 or 6
hours (for example).

This is easy to implement, since you can take DTSTART and DTEND and
convert them to an absolute time scale, such as UTC, then do the
subtraction there. You can do addition in UTC as well.

I'm not suggesting this as some kind of a normative requirement, just
that it is easy to calculate offsets with absolute durations if you can
convert between localtime and UTC - and if you can't do that you'll be
in trouble.


More information about the Ietf-calsify mailing list