2017-05-04 69 views
2

我有什麼,我認爲是一個幾乎最小的日曆2測試賽:iCalendar:有多個日期的事件?

BEGIN:VCALENDAR 
VERSION:2.0 
BEGIN:VEVENT 
UID:Q1 
DTSTAMP:20170504 
SUMMARY:Testing Description 1 
DTSTART:20170510 
DTEND:20170510 
DESCRIPTION:Testing Stuff 1 
END:VEVENT 
BEGIN:VEVENT 
UID:Q2 
DTSTAMP:20170504 
SUMMARY:Testing Summary 1 
DTSTART:20170512 
DTEND:20170512 
DESCRIPTION:Testing Description 1 
END:VEVENT 
END:VCALENDAR 

正如你看到的,該計劃是在2個事件具有相同的內容&描述。那是因爲我希望這是一個爲期兩天的活動。

iCalendar格式是否確實有適當的多日期事件?通過多日我的意思是:

  • 不一定是連續的日期
  • 多個日期沒有一個特定的模式(實際上沒有復發)

我看到的iCalendar具有相當聰明覆發模式(http://www.kanzaki.com/docs/ical/rrule.html),但我無法找到的一件事是任意日期的規則。

回答

1

要做到這一點,您可以擁有一個與第一個實例相對應的DTSTART/DTEND的VEVENT,以及一個具有與每個實例的DTSTART相對應的多個值的RDATE屬性。見https://tools.ietf.org/html/rfc5545#section-3.8.5.2

另一種方法是保持兩個事件,你所做的一切,但他們通過上相關屬性鏈接:現在https://tools.ietf.org/html/rfc5545#section-3.8.4.5

,在這兩種情況下(尤其是上相關),通用客戶端可能並不總是理解或利用這些屬性。

+0

爲了澄清,我可以添加'RDATE; VALUE = PERIOD:20170517T090000/20170517T170000, 20170518T090000/20170518T170000'。如果是這樣的話,我認爲Apple Calendar不支持它(請參閱https://apple.stackexchange.com/questions/68535/does-os-x-calendar-n%c3%a9e-ical-support-rdate? RQ = 1)。感謝你的回答。 – Manngo

+0

最好顯示整個結果事件,但如果您有DTSTART:20170510 DTEND:20170511(DTEND不包括在內),您希望對RDATE使用相同的值類型,例如RDATE; VALUE = DATE:20170510,20170512 – arnaudq