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 的组成部分:外层的 4 种表示“是什么”,内层的属性是“其内容”
组件(放在 VCALENDAR 中的箱子)
VEVENT事件(会议 / 日程)
VTODO任务
VJOURNAL日记
VFREEBUSY空闲时间信息(日程协调工具以机器方式交换的就是它)
写在 VEVENT 中的属性
DTSTART开始日期时间20260520T100000Z
DTEND结束日期时间20260520T110000Z
SUMMARY主题项目例会
LOCATION地点会议室 A
DESCRIPTION说明 / 补充确认 Q3 计划
RRULE重复的规则FREQ=WEEKLY;BYDAY=MO
末尾的 Z 表示 UTC。不加 Z 时,要用 VTIMEZONE 明确指定时区

实际使用中的注意点

把 .ics 文件附在邮件中发送,收件人就能把该事件添加到自己的日历中。不过,时区的处理需要注意,必须在 DTSTART 后加上 Z(UTC)后缀,或者用 VTIMEZONE 组件明确指定时区。CalDAV 协议是通过网络同步这种 iCalendar 格式的机制。

相关链接

此内容对您有帮助吗?

相关文章

相关术语

分享