Экспресс альтернативные повторяющиеся времена в iCalendar
Есть ли способ выразить следующее в iCalendar? (возможно, с помощью RRULE?)
С 9:00 до 17:00 каждый день, кроме воскресенья, когда между 10:00 и 16:00.
Могу ли я создать несколько RRULE? Какие из них имеют приоритет?
1 ответ
Решение
В iCalendar нет понятия о событиях с дырой в середине продолжительности. Таким образом, даже не говоря о повторяющихся событиях, вы не можете создать с одним событием что-то вроде с 9:00 до 10:00 и с 16:00 до 17:00.
Как следствие, вам нужно создать 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) из-за отсутствия поддержки и сложности.