iCalendar是由RFC5545定义的一种日历日程文件规范,扩展名名为ics,下面是对一份导出日历备注学习

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
BEGIN:VCALENDAR
PRODID:-//ACal//Ande.Studio
VERSION:2.0
METHOD:PUBLISH
CALSCALE:GREGORIAN
X-WR-TIMEZONE:Asia/Shanghai

BEGIN:VEVENT
DTSTAMP:20190701T000000Z
UID:1@wt201907
SUMMARY:日历事件一
DTSTART:20190701T080000
DTEND:20190701T120000
BEGIN:VALARM
TRIGGER:-PT10M
ACTION:DISPLAY
END:VALARM
END:VEVENT

BEGIN:VEVENT
DTSTAMP:20190701T000000Z
UID:2@wt201907
SUMMARY:日历事件二
DTSTART;VALUE=DATE:20190715
DTEND;VALUE=DATE:20190716
END:VEVENT

END:VCALENDAR

日历总体被包含在VCALENDAR标签对之中。开头指定一些基本信息中值得注意的是X-WR-TIMEZONE用来指定时区,加上这条标记可以避免后面时间逐个指定时区,减少冗余。

VEVENT定义事件,DTSTAMP是事件创建时间。UID是事件识别码,必须唯一。SUMMARY是事件的描述。DTSTART与DTEND分别是事件的开始与结束时间,若只为日期,应加;VALUE=DATE限定。

VALARM定义提醒,其必须镶嵌在VEVENT之中,一个事件可以有多个VALARM(某些应用可能不支持)。TRIGGER为触发提醒的时点,默认是与DTSTART关联的,-PT10M意为开始前10分钟,-号为必需。不带-号并不会被当然地理解为开始后的时点。也可以将触发与结束时间相关联,此时应加;RELATED=END限定(某些应用可能不支持)。ACTION为提醒的动作。