iCal/iCalendar
用于交换日历信息的标准格式(RFC 5545),实现不同应用之间的互操作。
iCalendar(iCal)是用于交换日历信息的标准格式,由 IETF 规范化为 RFC 5545。文件扩展名为 .ics,在日历应用程序之间交换事件数据时使用。
.ics 文件的结构
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//PickDay//JP
BEGIN:VEVENT
DTSTART:20260520T100000Z
DTEND:20260520T110000Z
SUMMARY:项目例会
LOCATION:会议室 A
DESCRIPTION:确认 Q3 计划
END:VEVENT
END:VCALENDAR
主要属性
在 iCalendar 格式中,可以定义 VEVENT(事件)、VTODO(任务)、VJOURNAL(日记)、VFREEBUSY(空闲时间信息)等组件。其中 VFREEBUSY 组件用于以机器方式交换参与者的空闲时间信息。
使用 RRULE 属性,也能表达例会这样的重复模式。例如“每周一”的重复写作 RRULE:FREQ=WEEKLY;BYDAY=MO。
实际使用中的注意点
把 .ics 文件附在邮件中发送,收件人就能把该事件添加到自己的日历中。不过,时区的处理需要注意,必须在 DTSTART 后加上 Z(UTC)后缀,或者用 VTIMEZONE 组件明确指定时区。CalDAV 协议是通过网络同步这种 iCalendar 格式的机制。