RFC 4791: Calendaring Extensions to WebDAV (CalDAV)
https://www.kanzaki.com/docs/ical/
iCal 又称 iCalendar,是一种标准的互联网日历格式,让用户能够在各种计算机和各种程序之间创建和共享电子日历。
一言蔽之,可以理解成可以向日历导入事件的文件。
ical文件以.ics结尾
ical文件的编写格式
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Example Corp.//CalDAV Client//EN
BEGIN:VTIMEZONE
LAST-MODIFIED:20040110T032845Z
TZID:US/Eastern
BEGIN:DAYLIGHT
DTSTART:20000404T020000
RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4
TZNAME:EDT
TZOFFSETFROM:-0500
TZOFFSETTO:-0400
END:DAYLIGHT
BEGIN:STANDARD
DTSTART:20001026T020000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
TZNAME:EST
TZOFFSETFROM:-0400
TZOFFSETTO:-0500
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
DTSTAMP:20060206T001121Z
DTSTART;TZID=US/Eastern:20060102T120000
DURATION:PT1H
RRULE:FREQ=DAILY;COUNT=5
SUMMARY:Event #2
UID:00959BC664CA650E933C892C@example.com
END:VEVENT
BEGIN:VEVENT
DTSTAMP:20060206T001121Z
DTSTART;TZID=US/Eastern:20060104T140000
DURATION:PT1H
RECURRENCE-ID;TZID=US/Eastern:20060104T120000
SUMMARY:Event #2 bis
UID:00959BC664CA650E933C892C@example.com
END:VEVENT
END:VCALENDAR
BEGIN:VCALENDAR
VERSION:2.0
X-WR-CALNAME:北京游玩安排
X-APPLE-CALENDAR-COLOR:#540EB9
X-WR-TIMEZONE:Asia/Shanghai
BEGIN:VEVENT
UID:2020-0124-0001
DTSTART;VALUE=DATE:20200807T165000
DTEND;VALUE=DATE:20200807T165500
SUMMARY:购物
DESCRIPTION:买特产
LOCATION:王府井
SEQUENCE:0
BEGIN:VALARM
TRIGGER;VALUE=DATE-TIME:19760401T005545Z
ACTION:NONE
END:VALARM
END:VEVENT
END:VCALENDAR
为了方便理解,我将代码写出下面的格式,但是实际上,上面的代码格式是正确的
BEGIN:VCALENDAR #固定写法,ical文件以BEGIN:VCALENDAR开头
| VERSION:2.0 #固定写法
| X-WR-CALNAME:北京游玩安排 #日历名称
| X-APPLE-CALENDAR-COLOR:#540EB9 #该日历事件的颜色
| X-WR-TIMEZONE:Asia/Shanghai #时区,中国默认写Asia/Shanghai
|
| BEGIN:VEVENT #固定写法,表示一个日历事件的开始
| | UID:2020-0124-0001 #这个日历事件的id,是唯一的,可自定义
| | DTSTART;VALUE=DATE:20200807T165000 #事件开始时间:年-月-日-T-时-分-秒
| | DTEND;VALUE=DATE:20200807T165500 #事件结束时间:年-月-日-T-时-分-秒
| | SUMMARY:购物 #事件名称
| | DESCRIPTION:买特产 #事件描述(备注)
| | LOCATION:北京王府井 #事件地点
| | SEQUENCE:0 #固定写法
| | BEGIN:VALARM #设置闹钟提醒,这里设置的是无需闹钟提醒
| | | TRIGGER;VALUE=DATE-TIME:19760401T005545Z
| | | ACTION:NONE
| | END:VALARM
| END:VEVENT #固定写法,表示一个日历事件的结束
|
END:VCALENDAR #固定写法,ical文件以END:VCALENDAR结尾
当想在一个日历中添加多个时间时,只需要在BEGIN:VCALENDAR----END:VCALENDAR
之间按照BEGIN:VEVENT----END:VEVENT
代码的格式添加日历事件即可。
ical 格式大概是这样的:
BEGIN:VCALENDAR
PRODID:-//HeYSH//HeYSH Calendar 70.9054//CN
VERSION:2.0
CALSCALE:GREGORIAN
METHOD:PUBLISH
X-WR-CALNAME:课程表
X-WR-TIMEZONE:Asia/Shanghai
X-WR-CALDESC:
BEGIN:VTIMEZONE
TZID:Asia/Shanghai
X-LIC-LOCATION:Asia/Shanghai
BEGIN:STANDARD
TZOFFSETFROM:+0800
TZOFFSETTO:+0800
TZNAME:CST
DTSTART:19700101T000000
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
DTSTART;TZID=Asia/Shanghai:20120901T092000
DTEND;TZID=Asia/Shanghai:20120901T105000
DTSTAMP:20120622T160054Z
UID:%u4F20%u70ED%u5B66%20%u5BF9%u6D41%u5B9E%u9A8C35@第 1 次
CREATED:20120622T154824Z
DESCRIPTION:教师:王五n
LAST-MODIFIED:20120622T160041Z
LOCATION:大礼堂
STATUS:CONFIRMED
SUMMARY:实验2
END:VEVENT
END:VCALENDAR
基本上只要修改中文部分的内容就好了
tips: