iCalendar:有多个日期的事件?
问题描述:
我有什么,我认为是一个几乎最小的日历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),但我无法找到的一件事是任意日期的规则。
答
要做到这一点,您可以拥有一个与第一个实例相对应的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
,在这两种情况下(尤其是上相关),通用客户端可能并不总是理解或利用这些属性。
为了澄清,我可以添加'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
最好显示整个结果事件,但如果您有DTSTART:20170510 DTEND:20170511(DTEND不包括在内),您希望对RDATE使用相同的值类型,例如RDATE; VALUE = DATE:20170510,20170512 – arnaudq