在iCalendar中表达替代重复时间

时间:2013-04-18 08:01:22

标签: icalendar rrule rfc5545

有没有办法在iCalendar中表达以下内容? (可能使用RRULE?)

  

每天上午9点至下午5点,周日上午10点至下午4点除外。

我可以创建多个RRULE吗?哪些优先?

1 个答案:

答案 0 :(得分:1)

iCalendar没有在持续时间中间有一个洞的事件的概念。因此,即使不谈论重复发生的事件,也无法通过单一事件创建类似于上午9点到10点以及下午4点到下午5点的事件

因此,您需要实际创建3个事件:

DTSTART:2013xxxxT090000
DURATION:PT1H
RRULE:FREQ=DAILY

DTSTART:2013xxxxT100000
DURATION:PT6H
RRULE:FREQ=DAILY;BYDAY=MO,TU,WE,TH,FR,SA

DTSTART:2013xxxxT160000
DURATION:PT1H
RRULE:FREQ=DAILY

就多个RRULE而言,这在RFC2445中得到了支持,但由于缺乏支持和复杂性,它已在RFC5545中被弃用(就像EXRULE一样)。