将多个事件分组到单个ics文件(iCalendar流)中

43
我希望能够将多个事件分组到单个ICS文件(iCalendar流)中,符合RFC标准。虽然可以实现此功能,但我不知道该如何操作。请问有人能帮助我或提供示例吗?
以下是RFC的相关内容:
“然而,多个iCalendar对象可以在iCalendar流中按顺序进行分组。 iCalendar对象的第一行和最后一行必须包含一对iCalendar对象定界符字符串。 iCalendar流的语法如下所示:”
 icalstream = 1*icalobject

 icalobject = "BEGIN" ":" "VCALENDAR" CRLF
              icalbody
              "END" ":" "VCALENDAR" CRLF
1个回答

83

这是一个包含两个事件的 iCalendar 文件的简单示例。

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//bobbin v0.1//NONSGML iCal Writer//EN
CALSCALE:GREGORIAN
METHOD:PUBLISH
BEGIN:VEVENT
DTSTART:20100701T080000Z
DTEND:20100701T110000Z
DTSTAMP:20091130T213238Z
UID:1285935469767a7c7c1a9b3f0df8003a@yoursever.com
CREATED:20091130T213238Z
DESCRIPTION:Example event 1
LAST-MODIFIED:20091130T213238Z
SEQUENCE:0
STATUS:CONFIRMED
SUMMARY:Example event 1
TRANSP:OPAQUE
END:VEVENT
BEGIN:VEVENT
DTSTART:20100701T120000Z
DTEND:20100701T130000Z
DTSTAMP:20091130T213238Z
UID:1285935469767a7c7c1a9b3f0df8003b@yoursever.com
CREATED:20091130T213238Z
DESCRIPTION:Example event 2
LAST-MODIFIED:20091130T213238Z
SEQUENCE:0
STATUS:CONFIRMED
SUMMARY:Example event 2
TRANSP:OPAQUE
END:VEVENT
END:VCALENDAR

将此内容复制到文件中并将其保存为events.ics,它应该可以在大多数iCalendar兼容的应用程序中打开,例如Outlook 2007、Sunbird、iCal。对于更复杂的示例,您可以尝试在Google日历中创建事件并导出日历以查看结果,或从icalshare.com等地方下载现有的日历。文件格式类似于电子邮件编码,必须折叠。维基百科上有一篇非常好的关于iCalendar的文章,如果您在Google上搜索"icalendar validator",则会出现几个服务,让您可以验证您的文件。如果您对此感到沮丧,您并不孤单http://www.google.co.uk/support/forum/p/Calendar/thread?tid=366b19a87d1304ec&hl=en,尽管在我看来它是一个很好的规范,但它的实现非常不同。
更详细地介绍您想要如何使用它将有助于其他人帮助您。

9
这将在Outlook中创建一个新的日历,如何将脚本日历中的事件合并到Outlook提供/使用的原始日历中? - Uday Shankar
谢谢!这正是我所期望的鼓励。我需要为一个程序准备一个iCal文件,其中包含四个不规则时间的事件,分别是周五晚上、周六和周日早上以及周三晚上。我希望能够实现这样的功能! - Hugh Esco

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接