iCalendar,简称“iCal”,是“日历数据交换”的标准(RFC 2445),该标准提供了一种公共的数据格式用于存储关于日历方面的信息,比如事件、约定、待办事项等。它不仅允许用户通过电子邮件发送会议或者待办事件等,也允许独立使用,而不局限于某种传输协议。
目前,所有流行日历工具比如:Lotus Notes、Outlook、GMail 和 Apple 的 iCal 都支持 iCalendar 标准,其文件扩展名为 .ical、.ics、.ifb 或者 .icalendar。C&S(Calendaring and Scheduling) 核心对象是一系列日历和行程安排信息。通常情况下,这些日历和行程信息仅仅包含一个 iCalendar 组件(iCalendar 组件分为 Events(VEVENT)、To-do(VTODO)、Journal(VJOURNAL)、Free/busy time (VFREEBUSY)、VTIMEZONE (time zones) 和 VALARM (alarms)),但是多个 iCalendar 组件可以被组织在一起。
C&S 核心对象第一行必须是“BEGIN:VCALENDAR”, 并且最后行必须是“END:VCALENDAR”。在这两行之间主要是由一系列日历属性和一个或者多个 iCalendar 组件组成。
下面是ICalendar文件的格式
BEGIN:VCALENDAR
PRODID:-//Microsoft Corporation//Outlook MIMEDIR//EN
VERSION:1.0
BEGIN:VEVENT
DTSTART:19980114T210000Z
DTEND:19980114T230000Z
LOCATION:My office
CATEGORIES:Business
DESCRIPTION;ENCODING=QUOTED-PRINTABLE:This is a note associated with the
meeting=0D=0A
SUMMARY:Meeting to discuss salaries
PRIORITY:3
END:VEVENT
END:VCALENDAR
注意:DTSTART 和 DTEND 条目是 YYYYMMDDThhmmssZ 格式的日期和时间的组合,其中 YYYY = 年份,MM = 月份,DD = 几号,T = 开始时间字符,hh = 小时,mm = 分钟,ss = 秒,Z = 结束字符。此字符串表示 24 小时时钟上的格林威治标准 (GMT) 时间,因此必须将它调整到您的时区。
例如,如果您在中央时区,那么您的时间是 GMT 后面 6 小时。因此,您从开始时间和结束时间减去 6 小时即得出约会的正确时间范围。在前面的约会示例中,开始时间在 24 小时时钟中将是 210000-060000 或 150000。如果您将时间转换为 A.M 或 P.M,则开始时间是 150000-120000 或 3:00 P.M。