MAC上的日歷是可以通過文件導入或者URL導入的喉祭,利用這個功能养渴,我實現(xiàn)了將一年中的國定休假和上班的日歷同步了進來,如下圖
image.png
實現(xiàn)方式是讓日歷導入.ics文件泛烙,該文件里面描述了所有節(jié)假日的數(shù)據(jù)
ics文件內(nèi)容的格式如下
左邊為標準格式理卑,右邊是為了方便解釋格式化了一下好看清,大家在配置的時候應該使用左邊的格式
image.png
-
BEGIN:VCALENDAR-> END:VCALENDAR
之間的內(nèi)容為主體內(nèi)容-
X-WR-CALNAME
:自定義日歷名稱 在導入的時候如果選擇新建則會按這個名稱建立標簽 -
X-APPLE-CALENDAR-COLOR
:#540EB9 指定了該類別下事件的顏色
結合上面2個屬性可以產(chǎn)生下圖效果:
image.png -
VERSION
:2.0 寫死2.0即可 -
X-WR-TIMEZONE
:Asia/Shanghai 你所在地方的時間區(qū)域(這行可以刪除不寫)
-
-
每一個
BEGIN:VEVENT -> END:VEVENT
區(qū)間的模塊描述了一個日歷事件
我們只需要將國定日期-
UID
:表示這個日歷事件的唯一ID蔽氨,建議不要重復藐唠,可以自定義 -
DTSTART;VALUE=DATE
:20200124 事件開始時間,格式為年月日 -
DTEND;VALUE=DATE
:20200124 事件結束時間鹉究,我們寫同一天即可 -
SUMMARY
:除夕 這里就是事件名稱宇立,這里我們就寫節(jié)日名稱 -
SEQUENCE
:0 寫0即可 -
BEGIN:VALARM->END:VALARM
:區(qū)間的內(nèi)容為設置提醒鬧鐘,我們不需要鬧鐘自赔,所以這里固定的寫法復制即可
-
按照上面格式妈嘹,這里舉例將2020年的春節(jié)和除夕來測試一把,數(shù)據(jù)如下:
將下面的配置保存為 xxx.ics
文件,然后打開日歷
,找到左上角文件
-導入
看看效果
BEGIN:VCALENDAR
VERSION:2.0
X-WR-CALNAME:訂閱法定節(jié)假日
X-APPLE-CALENDAR-COLOR:#540EB9
X-WR-TIMEZONE:Asia/Shanghai
BEGIN:VEVENT
UID:2020-0124-0001
DTSTART;VALUE=DATE:20200124
DTEND;VALUE=DATE:20200124
SUMMARY:除夕
SEQUENCE:0
BEGIN:VALARM
TRIGGER;VALUE=DATE-TIME:19760401T005545Z
ACTION:NONE
END:VALARM
END:VEVENT
BEGIN:VEVENT
UID:2020-0125-0001
DTSTART;VALUE=DATE:20200125
DTEND;VALUE=DATE:20200125
SUMMARY:春節(jié)
SEQUENCE:0
BEGIN:VALARM
TRIGGER;VALUE=DATE-TIME:19760401T005545Z
ACTION:NONE
END:VALARM
END:VEVENT
END:VCALENDAR
最后知道了原理后绍妨,我們可以寫一個接口來獲取這個配置數(shù)據(jù)润脸,然后通過日歷中訂閱URL的方式來同步數(shù)據(jù)