standards - iCalendar UNTIL rule must be of the same type as DTSTART property? -


in icalendar rfc 5545, section 3.3.10, see following until parameter description:

the value of until rule part must have same value type "dtstart" property. furthermore, if "dtstart" property specified date local time, until rule part must specified date local time. if "dtstart" property specified date utc time or date local time , time zone reference, until rule part must specified date utc time.

however, in 3.8.5.3 recurrence rule paragraph, until specified in utc, regrdless of dtstart property:

   dtstart;tzid=america/new_york:19970902t090000    rrule:freq=daily;until=19971224t000000z     dtstart;tzid=america/new_york:19970902t090000    rrule:freq=weekly;until=19971007t000000z;wkst=su;byday=tu,th 

there 5 of such examples in total.

i found @ least 2 caldav clients (ios , mozilla lightning) submit until parameter in utc, regardless of dtstart property.

the place until must in utc rrule in vtimezone. or not getting something?

the cited paragraph has 3 parts:

part 1

the value of until rule part must have same value type "dtstart" property.

this refers value type i.e. value=date vs. value=date-time. if event all-day event until date has specified all-day date well, otherwise until date must have time component.

part 2

furthermore, if "dtstart" property specified date local time, until rule part must specified date local time.

in context "local time" means "floating time" specified in section 3.3.5 (form #1), says:

form #1: date local time

the date local time form date-time value not contain utc designator nor reference time zone. example, following represents january 18, 1998, @ 11 pm:

19980118t230000

date-time values of type said "floating" , not bound time zone in particular.

that includes value=date dates.

if dtstart floating, i.e. not anchored in specific time zone, until value can't absolute time, otherwise actual end of rule depend on current time zone.

as noted, doesn't apply rrules inside of vtimezone definitions.

part 3

if "dtstart" property specified date utc time or date local time , time zone reference, until rule part must specified date utc time.

the key difference sentence talks absolute dtstart time, either in utc or in local time with time zone reference (like in quoted examples).

this refers form #2 , form #3 of section 3.3.5. if value of dtstart corresponds of these forms, until value has specified in utc time. think reasoning behind don't need specify time zone until date if use "zulu" notation (and can not assume can use time zone of dtstart until).

edit

since "floating time" not common in calendar clients, you'll barely see non-utc until dates. in thunderbird/lightning can explicitly select "local time" event, creates floating event. in case should until value in local time well.


Comments

Popular posts from this blog

sql - VB.NET Operand type clash: date is incompatible with int error -

SVG stroke-linecap doesn't work for circles in Firefox? -

python - TypeError: Scalar value for argument 'color' is not numeric in openCV -