Subject: [Ietf-calsify] DTEND for day events

From: Chris_Stoner at notesdev.ibm.com ([email-masked])
Date: Wed Oct 19 07:29:37 2005

I'm trying to close down this issue that was raised by Neal and answered by
Jeffrey.  It does seem that 2445 has DTEND as always being exclusive, but
it's not explained very well.  In an effort to clear up the confusion, we'd
like to change 2445's text to include the following examples to clarify:

   To specify a meeting that starts at 15:00 and ends at 16:00:

   DTSTART:20051011T150000Z
   DTEND:20051011T160000Z

   To specify an event that will last all day on October 11th and October
   12th:

   DTSTART;VALUE=DATE:20051011
   DTEND;VALUE=DATE:20051013

   Note that DTEND is exclusive, as expressed in both examples, .  The time
   1600 is not included in the event duration of the first example and the
   date of the 13th is not included in the duration of the second example.

Thanks all-
Chris Stoner

> Hi Neal,
>
> > rfc2445 is unclear if the DTEND is inclusive or exclusive when both the

> > DTSTART and DTEND are DATEs.
>
> To find the language about this, you have to look in the (not
> intuitively located) VEVENT definition.  It says:
>
> The "DTSTART" property for a "VEVENT" specifies the inclusive start
>    of the event. For recurring events, it also specifies the very first
>    instance in the recurrence set. The "DTEND" property for a "VEVENT"
>    calendar component specifies the non-inclusive end of the event.
>
> It doesn't say anything specific about DATE valued events, so DTEND is
> always exclusive.
>
> In practice, Apple's iCal always exports one-day all-day events with an
> explicit DTEND of the day after the start.  I scratched my head about
> that for a while, too, till I looked in VEVENT.
>
> Sincerely,
> Jeffrey Harris

---

From: doug.fults at airenainc.com (Doug Fults)
Date: Wed Oct 19 07:43:12 2005

Chris,

Your description is very helpful.  When I first implemented iCalendar 
support awhile back, I was quite confused by why the actual calendars 
out there seemed to be doing something different than the spec in this 
regard.  This would have cleared things right up.

Doug Fults "long time calendar programmer, newbie on this board"

>_______________________________________________
>Ietf-calsify mailing list
>[email-masked]
>http://lists.osafoundation.org/mailman/listinfo/ietf-calsify
>
>  
>

---

From: reinhold at kainhofer.com (Reinhold Kainhofer)
Date: Wed Oct 19 08:36:25 2005

On Wednesday 19 October 2005 16:42, Doug Fults wrote:
> regard.  

Well, apparently, all implementations got it wrong according to one author of 
rfc 2445 (see my mail a while back)... But since *all* do it consistently, 
let's now change the standard (or rather clear it up) to reflect reality ;-)

Cheers,
Reinhold

- -- 
- ------------------------------------------------------------------
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

---

From: reinhold at kainhofer.com (Reinhold Kainhofer)
Date: Wed Oct 19 08:36:27 2005

On Wednesday 19 October 2005 16:29, [email-masked] wrote:
>    Note that DTEND is exclusive, as expressed in both examples.  The time

Maybe we should also add an example where no DTEND is given. In particular, 
the DTEND is then effectively DTSTART+1 day (which section 4.6.1 explains as 
"end of the calendar date given by DTSTART").

So only 
    DTSTART;VALUE=DATE:20051011
without a DTEND is effectively equivalent to
    DTSTART;VALUE=DATE:20051011
    DTEND;VALUE=DATE:20051012

And how should the following be interpreted where DTSTART and DTEND are the 
same day? 
    DTSTART;VALUE=DATE:20051011
    DTEND;VALUE=DATE:20051011
I suppose this should then be a timeless event as opposed to an event that 
takes up the whole day.

Cheers,
Reinhold

- --