前言

最近在想着把课表导入到日历里,就研究了一下ical文件

什么是ical文件

iCal 又称 iCalendar,是一种标准的互联网日历格式,让用户能够在各种计算机和各种程序之间创建和共享电子日历。
一言蔽之,可以理解成可以向日历导入事件的文件。

具体格式

  1. ical文件以.ics结尾

  2. ical文件的编写格式

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代码的格式添加日历事件即可