[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: DATE values question



I will add this to the next version of the Issues lists for iCalendar, iTIP, and iMIP
 
1 - examples of correct usage of DATE value type in VEVENT objects
 
2 - examples and explanation of "valid" and "invalid/illegal" DTEND forms for DATA value types
 
3 - examples of above situations if applicable to iMIP and iTIP
 
4 - Perhaps a general case of "What is done with inconsistent/invalid/illegal properties?" is also in order?
 
Shannon 
-----Original Message-----
From: owner-ietf-calendar@xxxxxxxxxxxx [mailto:owner-ietf-calendar@xxxxxxxxxxxx]On Behalf Of Bruce_Kahn@xxxxxxxx
Sent: Thursday, November 01, 2001 1:51 PM
To: Damon Chaplin
Cc: ietf-calendar@xxxxxxx
Subject: Re: DATE values question


Damon wrote on 10/28/2001 08:58:21 PM:
> If I have a VEVENT like this:
>
> DTSTART;VALUE=DATE:20010910
> DTEND;VALUE=DATE:20011310
>
> (i.e. from 9th Oct to 13th Oct)

Umm, I think you meant to say 20011009 and 20011013, respectively... :^)

> Does it:
>
>      a) include the 13th October entirely, up to midnight.
>   or b) stop at 12am on 13th.

We never resolved this thread I dont think when we covered it back in 1999 (yep, that far back).  Look for the thread titled "Recurring Anniversary Instances?" and then perhaps we can come to a final resolution of this issue.  However in the interest of time Ill forge ahead and rehash a bit and put my stick in the ground as to what I think the answer is.

Some relevant RFC citations for those who want a jumpstart, RFC 2445, p 53:

   The "VEVENT" is also the calendar component used to specify an
  anniversary or daily reminder within a calendar. These events have a
  DATE value type for the "DTSTART" property instead of the default
  data type of DATE-TIME. If such a "VEVENT" has a "DTEND" property, it
  MUST be specified as a DATE value also. The anniversary type of
  "VEVENT" can span more than one date (i.e, "DTEND" property value is
  set to a calendar date after the "DTSTART" property value).

   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. For
  cases where a "VEVENT" calendar component specifies a "DTSTART"
  property with a DATE data type but no "DTEND" property, the events
  non-inclusive end is the end of the calendar date specified by the
  "DTSTART" property.


Part of the original discussion was about DATE & DATE-TIME equivalents but I think the last line of the 1st paragraph will help us make a decision thats consistant one way or another.  One would logically infer from the text above that since:

        DTSTART;VALUE=DATE:20011009

alone is an "all day" (09-Oct-2001) event and that:

        DTSTART;VALUE=DATE:20011009
        DTEND;VALUE=DATE:20011010

would be a "two day" (09-Oct-2001 & 10-Oct-2001) event.  However some have argued that the 2 day example is wrong and should be:

        DTSTART;VALUE=DATE:20011009
        DTEND;VALUE=DATE:20011011

since the time defaulted should be 00:00:00.  Also, we never did resolve the case of what does/should:

        DTSTART;VALUE=DATE:20011009
        DTEND;VALUE=DATE:20011009

mean.  Technially DTEND is not "after" DTSTART so some think this is 'illegal'.  Others claim that DTEND is after DTSTART since they view the time for DTSTART as being 00:00:00 (Local) and the time of DTEND as being 23:59:59 (Local).  

The citation appears to bear out this argument but it should be noted that A) the text never says the DTEND is "1 day after" the DTSTART, it simply says "is set to a calendar date after the "DTSTART"" and B) while this "ends are relative to the end of the day" argument sounds normal it is by no means consistant with regard to defaulting times.

Unfortunately we have no good iTIP/iMIP examples to use to resolve this but my take on this issues remains that the time always defaults to 00:00:00 (so the DATE value must be selected accordingly).  To directly answer your (corrected) question, I would claim that 13-Oct-2001 is not included as part of the event; the event ends (non-inclusively) at 20011013T000000.

Now where did I put those asbestos gloves???

Bruce
===========================================================================
Bruce Kahn                                INet: Bruce_Kahn@xxxxxxxx
Iris Associates                          Phone: 978.392.5335
Westford, MA, USA 01886                    FAX: and nothing but the FAX...
Standard disclaimers apply, even where prohibited by law...