diff --git a/holiday_cn.ics b/holiday-cn.ics similarity index 96% rename from holiday_cn.ics rename to holiday-cn.ics index 986822f..64e8cd8 100644 --- a/holiday_cn.ics +++ b/holiday-cn.ics @@ -1,454 +1,454 @@ -BEGIN:VCALENDAR -VERSION:2.0 -METHOD:PUBLISH -CLASS:PUBLIC -BEGIN:VTIMEZONE -TZID:Asia/Shanghai -BEGIN:STANDARD -DTSTART;VALUE=DATE-TIME:19700101T000000 -TZOFFSETFROM:+0800 -TZOFFSETTO:+0800 -END:STANDARD -END:VTIMEZONE -BEGIN:VEVENT -SUMMARY:元旦假期 -DTSTART;VALUE=DATE:20170101 -DTEND;VALUE=DATE:20170103 -DTSTAMP;VALUE=DATE:20170101 -UID:2017-01-01/2017-01-03/NateScarlet/holiday-cn -END:VEVENT -BEGIN:VEVENT -SUMMARY:上班(补春节假期) -DTSTART;VALUE=DATE:20170122 -DTEND;VALUE=DATE:20170123 -DTSTAMP;VALUE=DATE:20170122 -UID:2017-01-22/2017-01-23/NateScarlet/holiday-cn -END:VEVENT -BEGIN:VEVENT -SUMMARY:春节假期 -DTSTART;VALUE=DATE:20170127 -DTEND;VALUE=DATE:20170203 -DTSTAMP;VALUE=DATE:20170127 -UID:2017-01-27/2017-02-03/NateScarlet/holiday-cn -END:VEVENT -BEGIN:VEVENT -SUMMARY:上班(补春节假期) -DTSTART;VALUE=DATE:20170204 -DTEND;VALUE=DATE:20170205 -DTSTAMP;VALUE=DATE:20170204 -UID:2017-02-04/2017-02-05/NateScarlet/holiday-cn -END:VEVENT -BEGIN:VEVENT -SUMMARY:上班(补清明节假期) -DTSTART;VALUE=DATE:20170401 -DTEND;VALUE=DATE:20170402 -DTSTAMP;VALUE=DATE:20170401 -UID:2017-04-01/2017-04-02/NateScarlet/holiday-cn -END:VEVENT -BEGIN:VEVENT -SUMMARY:清明节假期 -DTSTART;VALUE=DATE:20170402 -DTEND;VALUE=DATE:20170405 -DTSTAMP;VALUE=DATE:20170402 -UID:2017-04-02/2017-04-05/NateScarlet/holiday-cn -END:VEVENT -BEGIN:VEVENT -SUMMARY:劳动节假期 -DTSTART;VALUE=DATE:20170501 -DTEND;VALUE=DATE:20170502 -DTSTAMP;VALUE=DATE:20170501 -UID:2017-05-01/2017-05-02/NateScarlet/holiday-cn -END:VEVENT -BEGIN:VEVENT -SUMMARY:上班(补端午节假期) -DTSTART;VALUE=DATE:20170527 -DTEND;VALUE=DATE:20170528 -DTSTAMP;VALUE=DATE:20170527 -UID:2017-05-27/2017-05-28/NateScarlet/holiday-cn -END:VEVENT -BEGIN:VEVENT -SUMMARY:端午节假期 -DTSTART;VALUE=DATE:20170528 -DTEND;VALUE=DATE:20170531 -DTSTAMP;VALUE=DATE:20170528 -UID:2017-05-28/2017-05-31/NateScarlet/holiday-cn -END:VEVENT -BEGIN:VEVENT -SUMMARY:上班(补中秋节、国庆节假期) -DTSTART;VALUE=DATE:20170930 -DTEND;VALUE=DATE:20171001 -DTSTAMP;VALUE=DATE:20170930 -UID:2017-09-30/2017-10-01/NateScarlet/holiday-cn -END:VEVENT -BEGIN:VEVENT -SUMMARY:中秋节、国庆节假期 -DTSTART;VALUE=DATE:20171001 -DTEND;VALUE=DATE:20171009 -DTSTAMP;VALUE=DATE:20171001 -UID:2017-10-01/2017-10-09/NateScarlet/holiday-cn -END:VEVENT -BEGIN:VEVENT -SUMMARY:元旦假期 -DTSTART;VALUE=DATE:20180101 -DTEND;VALUE=DATE:20180102 -DTSTAMP;VALUE=DATE:20180101 -UID:2018-01-01/2018-01-02/NateScarlet/holiday-cn -END:VEVENT -BEGIN:VEVENT -SUMMARY:上班(补春节假期) -DTSTART;VALUE=DATE:20180211 -DTEND;VALUE=DATE:20180212 -DTSTAMP;VALUE=DATE:20180211 -UID:2018-02-11/2018-02-12/NateScarlet/holiday-cn -END:VEVENT -BEGIN:VEVENT -SUMMARY:春节假期 -DTSTART;VALUE=DATE:20180215 -DTEND;VALUE=DATE:20180222 -DTSTAMP;VALUE=DATE:20180215 -UID:2018-02-15/2018-02-22/NateScarlet/holiday-cn -END:VEVENT -BEGIN:VEVENT -SUMMARY:上班(补春节假期) -DTSTART;VALUE=DATE:20180224 -DTEND;VALUE=DATE:20180225 -DTSTAMP;VALUE=DATE:20180224 -UID:2018-02-24/2018-02-25/NateScarlet/holiday-cn -END:VEVENT -BEGIN:VEVENT -SUMMARY:清明节假期 -DTSTART;VALUE=DATE:20180405 -DTEND;VALUE=DATE:20180408 -DTSTAMP;VALUE=DATE:20180405 -UID:2018-04-05/2018-04-08/NateScarlet/holiday-cn -END:VEVENT -BEGIN:VEVENT -SUMMARY:上班(补清明节假期) -DTSTART;VALUE=DATE:20180408 -DTEND;VALUE=DATE:20180409 -DTSTAMP;VALUE=DATE:20180408 -UID:2018-04-08/2018-04-09/NateScarlet/holiday-cn -END:VEVENT -BEGIN:VEVENT -SUMMARY:上班(补劳动节假期) -DTSTART;VALUE=DATE:20180428 -DTEND;VALUE=DATE:20180429 -DTSTAMP;VALUE=DATE:20180428 -UID:2018-04-28/2018-04-29/NateScarlet/holiday-cn -END:VEVENT -BEGIN:VEVENT -SUMMARY:劳动节假期 -DTSTART;VALUE=DATE:20180429 -DTEND;VALUE=DATE:20180502 -DTSTAMP;VALUE=DATE:20180429 -UID:2018-04-29/2018-05-02/NateScarlet/holiday-cn -END:VEVENT -BEGIN:VEVENT -SUMMARY:端午节假期 -DTSTART;VALUE=DATE:20180618 -DTEND;VALUE=DATE:20180619 -DTSTAMP;VALUE=DATE:20180618 -UID:2018-06-18/2018-06-19/NateScarlet/holiday-cn -END:VEVENT -BEGIN:VEVENT -SUMMARY:中秋节假期 -DTSTART;VALUE=DATE:20180924 -DTEND;VALUE=DATE:20180925 -DTSTAMP;VALUE=DATE:20180924 -UID:2018-09-24/2018-09-25/NateScarlet/holiday-cn -END:VEVENT -BEGIN:VEVENT -SUMMARY:上班(补国庆节假期) -DTSTART;VALUE=DATE:20180929 -DTEND;VALUE=DATE:20181001 -DTSTAMP;VALUE=DATE:20180929 -UID:2018-09-29/2018-10-01/NateScarlet/holiday-cn -END:VEVENT -BEGIN:VEVENT -SUMMARY:国庆节假期 -DTSTART;VALUE=DATE:20181001 -DTEND;VALUE=DATE:20181008 -DTSTAMP;VALUE=DATE:20181001 -UID:2018-10-01/2018-10-08/NateScarlet/holiday-cn -END:VEVENT -BEGIN:VEVENT -SUMMARY:上班(补元旦假期) -DTSTART;VALUE=DATE:20181229 -DTEND;VALUE=DATE:20181230 -DTSTAMP;VALUE=DATE:20181229 -UID:2018-12-29/2018-12-30/NateScarlet/holiday-cn -END:VEVENT -BEGIN:VEVENT -SUMMARY:元旦假期 -DTSTART;VALUE=DATE:20181230 -DTEND;VALUE=DATE:20190102 -DTSTAMP;VALUE=DATE:20181230 -UID:2018-12-30/2019-01-02/NateScarlet/holiday-cn -END:VEVENT -BEGIN:VEVENT -SUMMARY:上班(补春节假期) -DTSTART;VALUE=DATE:20190202 -DTEND;VALUE=DATE:20190204 -DTSTAMP;VALUE=DATE:20190202 -UID:2019-02-02/2019-02-04/NateScarlet/holiday-cn -END:VEVENT -BEGIN:VEVENT -SUMMARY:春节假期 -DTSTART;VALUE=DATE:20190204 -DTEND;VALUE=DATE:20190211 -DTSTAMP;VALUE=DATE:20190204 -UID:2019-02-04/2019-02-11/NateScarlet/holiday-cn -END:VEVENT -BEGIN:VEVENT -SUMMARY:清明节假期 -DTSTART;VALUE=DATE:20190405 -DTEND;VALUE=DATE:20190406 -DTSTAMP;VALUE=DATE:20190405 -UID:2019-04-05/2019-04-06/NateScarlet/holiday-cn -END:VEVENT -BEGIN:VEVENT -SUMMARY:上班(补劳动节假期) -DTSTART;VALUE=DATE:20190428 -DTEND;VALUE=DATE:20190429 -DTSTAMP;VALUE=DATE:20190428 -UID:2019-04-28/2019-04-29/NateScarlet/holiday-cn -END:VEVENT -BEGIN:VEVENT -SUMMARY:劳动节假期 -DTSTART;VALUE=DATE:20190501 -DTEND;VALUE=DATE:20190505 -DTSTAMP;VALUE=DATE:20190501 -UID:2019-05-01/2019-05-05/NateScarlet/holiday-cn -END:VEVENT -BEGIN:VEVENT -SUMMARY:上班(补劳动节假期) -DTSTART;VALUE=DATE:20190505 -DTEND;VALUE=DATE:20190506 -DTSTAMP;VALUE=DATE:20190505 -UID:2019-05-05/2019-05-06/NateScarlet/holiday-cn -END:VEVENT -BEGIN:VEVENT -SUMMARY:端午节假期 -DTSTART;VALUE=DATE:20190607 -DTEND;VALUE=DATE:20190608 -DTSTAMP;VALUE=DATE:20190607 -UID:2019-06-07/2019-06-08/NateScarlet/holiday-cn -END:VEVENT -BEGIN:VEVENT -SUMMARY:中秋节假期 -DTSTART;VALUE=DATE:20190913 -DTEND;VALUE=DATE:20190914 -DTSTAMP;VALUE=DATE:20190913 -UID:2019-09-13/2019-09-14/NateScarlet/holiday-cn -END:VEVENT -BEGIN:VEVENT -SUMMARY:上班(补国庆节假期) -DTSTART;VALUE=DATE:20190929 -DTEND;VALUE=DATE:20190930 -DTSTAMP;VALUE=DATE:20190929 -UID:2019-09-29/2019-09-30/NateScarlet/holiday-cn -END:VEVENT -BEGIN:VEVENT -SUMMARY:国庆节假期 -DTSTART;VALUE=DATE:20191001 -DTEND;VALUE=DATE:20191008 -DTSTAMP;VALUE=DATE:20191001 -UID:2019-10-01/2019-10-08/NateScarlet/holiday-cn -END:VEVENT -BEGIN:VEVENT -SUMMARY:上班(补国庆节假期) -DTSTART;VALUE=DATE:20191012 -DTEND;VALUE=DATE:20191013 -DTSTAMP;VALUE=DATE:20191012 -UID:2019-10-12/2019-10-13/NateScarlet/holiday-cn -END:VEVENT -BEGIN:VEVENT -SUMMARY:元旦假期 -DTSTART;VALUE=DATE:20200101 -DTEND;VALUE=DATE:20200102 -DTSTAMP;VALUE=DATE:20200101 -UID:2020-01-01/2020-01-02/NateScarlet/holiday-cn -END:VEVENT -BEGIN:VEVENT -SUMMARY:上班(补春节假期) -DTSTART;VALUE=DATE:20200119 -DTEND;VALUE=DATE:20200120 -DTSTAMP;VALUE=DATE:20200119 -UID:2020-01-19/2020-01-20/NateScarlet/holiday-cn -END:VEVENT -BEGIN:VEVENT -SUMMARY:春节假期 -DTSTART;VALUE=DATE:20200124 -DTEND;VALUE=DATE:20200203 -DTSTAMP;VALUE=DATE:20200124 -UID:2020-01-24/2020-02-03/NateScarlet/holiday-cn -END:VEVENT -BEGIN:VEVENT -SUMMARY:上班(补春节假期) -DTSTART;VALUE=DATE:20200203 -DTEND;VALUE=DATE:20200204 -DTSTAMP;VALUE=DATE:20200203 -UID:2020-02-03/2020-02-04/NateScarlet/holiday-cn -END:VEVENT -BEGIN:VEVENT -SUMMARY:清明节假期 -DTSTART;VALUE=DATE:20200404 -DTEND;VALUE=DATE:20200407 -DTSTAMP;VALUE=DATE:20200404 -UID:2020-04-04/2020-04-07/NateScarlet/holiday-cn -END:VEVENT -BEGIN:VEVENT -SUMMARY:上班(补劳动节假期) -DTSTART;VALUE=DATE:20200426 -DTEND;VALUE=DATE:20200427 -DTSTAMP;VALUE=DATE:20200426 -UID:2020-04-26/2020-04-27/NateScarlet/holiday-cn -END:VEVENT -BEGIN:VEVENT -SUMMARY:劳动节假期 -DTSTART;VALUE=DATE:20200501 -DTEND;VALUE=DATE:20200506 -DTSTAMP;VALUE=DATE:20200501 -UID:2020-05-01/2020-05-06/NateScarlet/holiday-cn -END:VEVENT -BEGIN:VEVENT -SUMMARY:上班(补劳动节假期) -DTSTART;VALUE=DATE:20200509 -DTEND;VALUE=DATE:20200510 -DTSTAMP;VALUE=DATE:20200509 -UID:2020-05-09/2020-05-10/NateScarlet/holiday-cn -END:VEVENT -BEGIN:VEVENT -SUMMARY:端午节假期 -DTSTART;VALUE=DATE:20200625 -DTEND;VALUE=DATE:20200628 -DTSTAMP;VALUE=DATE:20200625 -UID:2020-06-25/2020-06-28/NateScarlet/holiday-cn -END:VEVENT -BEGIN:VEVENT -SUMMARY:上班(补端午节假期) -DTSTART;VALUE=DATE:20200628 -DTEND;VALUE=DATE:20200629 -DTSTAMP;VALUE=DATE:20200628 -UID:2020-06-28/2020-06-29/NateScarlet/holiday-cn -END:VEVENT -BEGIN:VEVENT -SUMMARY:上班(补国庆节、中秋节假期) -DTSTART;VALUE=DATE:20200927 -DTEND;VALUE=DATE:20200928 -DTSTAMP;VALUE=DATE:20200927 -UID:2020-09-27/2020-09-28/NateScarlet/holiday-cn -END:VEVENT -BEGIN:VEVENT -SUMMARY:国庆节、中秋节假期 -DTSTART;VALUE=DATE:20201001 -DTEND;VALUE=DATE:20201009 -DTSTAMP;VALUE=DATE:20201001 -UID:2020-10-01/2020-10-09/NateScarlet/holiday-cn -END:VEVENT -BEGIN:VEVENT -SUMMARY:上班(补国庆节、中秋节假期) -DTSTART;VALUE=DATE:20201010 -DTEND;VALUE=DATE:20201011 -DTSTAMP;VALUE=DATE:20201010 -UID:2020-10-10/2020-10-11/NateScarlet/holiday-cn -END:VEVENT -BEGIN:VEVENT -SUMMARY:元旦假期 -DTSTART;VALUE=DATE:20210101 -DTEND;VALUE=DATE:20210104 -DTSTAMP;VALUE=DATE:20210101 -UID:2021-01-01/2021-01-04/NateScarlet/holiday-cn -END:VEVENT -BEGIN:VEVENT -SUMMARY:上班(补春节假期) -DTSTART;VALUE=DATE:20210207 -DTEND;VALUE=DATE:20210208 -DTSTAMP;VALUE=DATE:20210207 -UID:2021-02-07/2021-02-08/NateScarlet/holiday-cn -END:VEVENT -BEGIN:VEVENT -SUMMARY:春节假期 -DTSTART;VALUE=DATE:20210211 -DTEND;VALUE=DATE:20210218 -DTSTAMP;VALUE=DATE:20210211 -UID:2021-02-11/2021-02-18/NateScarlet/holiday-cn -END:VEVENT -BEGIN:VEVENT -SUMMARY:上班(补春节假期) -DTSTART;VALUE=DATE:20210220 -DTEND;VALUE=DATE:20210221 -DTSTAMP;VALUE=DATE:20210220 -UID:2021-02-20/2021-02-21/NateScarlet/holiday-cn -END:VEVENT -BEGIN:VEVENT -SUMMARY:清明节假期 -DTSTART;VALUE=DATE:20210403 -DTEND;VALUE=DATE:20210406 -DTSTAMP;VALUE=DATE:20210403 -UID:2021-04-03/2021-04-06/NateScarlet/holiday-cn -END:VEVENT -BEGIN:VEVENT -SUMMARY:上班(补劳动节假期) -DTSTART;VALUE=DATE:20210425 -DTEND;VALUE=DATE:20210426 -DTSTAMP;VALUE=DATE:20210425 -UID:2021-04-25/2021-04-26/NateScarlet/holiday-cn -END:VEVENT -BEGIN:VEVENT -SUMMARY:劳动节假期 -DTSTART;VALUE=DATE:20210501 -DTEND;VALUE=DATE:20210506 -DTSTAMP;VALUE=DATE:20210501 -UID:2021-05-01/2021-05-06/NateScarlet/holiday-cn -END:VEVENT -BEGIN:VEVENT -SUMMARY:上班(补劳动节假期) -DTSTART;VALUE=DATE:20210508 -DTEND;VALUE=DATE:20210509 -DTSTAMP;VALUE=DATE:20210508 -UID:2021-05-08/2021-05-09/NateScarlet/holiday-cn -END:VEVENT -BEGIN:VEVENT -SUMMARY:端午节假期 -DTSTART;VALUE=DATE:20210612 -DTEND;VALUE=DATE:20210615 -DTSTAMP;VALUE=DATE:20210612 -UID:2021-06-12/2021-06-15/NateScarlet/holiday-cn -END:VEVENT -BEGIN:VEVENT -SUMMARY:上班(补中秋节假期) -DTSTART;VALUE=DATE:20210918 -DTEND;VALUE=DATE:20210919 -DTSTAMP;VALUE=DATE:20210918 -UID:2021-09-18/2021-09-19/NateScarlet/holiday-cn -END:VEVENT -BEGIN:VEVENT -SUMMARY:中秋节假期 -DTSTART;VALUE=DATE:20210919 -DTEND;VALUE=DATE:20210922 -DTSTAMP;VALUE=DATE:20210919 -UID:2021-09-19/2021-09-22/NateScarlet/holiday-cn -END:VEVENT -BEGIN:VEVENT -SUMMARY:上班(补国庆节假期) -DTSTART;VALUE=DATE:20210926 -DTEND;VALUE=DATE:20210927 -DTSTAMP;VALUE=DATE:20210926 -UID:2021-09-26/2021-09-27/NateScarlet/holiday-cn -END:VEVENT -BEGIN:VEVENT -SUMMARY:国庆节假期 -DTSTART;VALUE=DATE:20211001 -DTEND;VALUE=DATE:20211008 -DTSTAMP;VALUE=DATE:20211001 -UID:2021-10-01/2021-10-08/NateScarlet/holiday-cn -END:VEVENT -BEGIN:VEVENT -SUMMARY:上班(补国庆节假期) -DTSTART;VALUE=DATE:20211009 -DTEND;VALUE=DATE:20211010 -DTSTAMP;VALUE=DATE:20211009 -UID:2021-10-09/2021-10-10/NateScarlet/holiday-cn -END:VEVENT -END:VCALENDAR +BEGIN:VCALENDAR +VERSION:2.0 +METHOD:PUBLISH +CLASS:PUBLIC +BEGIN:VTIMEZONE +TZID:Asia/Shanghai +BEGIN:STANDARD +DTSTART;VALUE=DATE-TIME:19700101T000000 +TZOFFSETFROM:+0800 +TZOFFSETTO:+0800 +END:STANDARD +END:VTIMEZONE +BEGIN:VEVENT +SUMMARY:元旦假期 +DTSTART;VALUE=DATE:20170101 +DTEND;VALUE=DATE:20170103 +DTSTAMP;VALUE=DATE:20170101 +UID:2017-01-01/2017-01-03/NateScarlet/holiday-cn +END:VEVENT +BEGIN:VEVENT +SUMMARY:上班(补春节假期) +DTSTART;VALUE=DATE:20170122 +DTEND;VALUE=DATE:20170123 +DTSTAMP;VALUE=DATE:20170122 +UID:2017-01-22/2017-01-23/NateScarlet/holiday-cn +END:VEVENT +BEGIN:VEVENT +SUMMARY:春节假期 +DTSTART;VALUE=DATE:20170127 +DTEND;VALUE=DATE:20170203 +DTSTAMP;VALUE=DATE:20170127 +UID:2017-01-27/2017-02-03/NateScarlet/holiday-cn +END:VEVENT +BEGIN:VEVENT +SUMMARY:上班(补春节假期) +DTSTART;VALUE=DATE:20170204 +DTEND;VALUE=DATE:20170205 +DTSTAMP;VALUE=DATE:20170204 +UID:2017-02-04/2017-02-05/NateScarlet/holiday-cn +END:VEVENT +BEGIN:VEVENT +SUMMARY:上班(补清明节假期) +DTSTART;VALUE=DATE:20170401 +DTEND;VALUE=DATE:20170402 +DTSTAMP;VALUE=DATE:20170401 +UID:2017-04-01/2017-04-02/NateScarlet/holiday-cn +END:VEVENT +BEGIN:VEVENT +SUMMARY:清明节假期 +DTSTART;VALUE=DATE:20170402 +DTEND;VALUE=DATE:20170405 +DTSTAMP;VALUE=DATE:20170402 +UID:2017-04-02/2017-04-05/NateScarlet/holiday-cn +END:VEVENT +BEGIN:VEVENT +SUMMARY:劳动节假期 +DTSTART;VALUE=DATE:20170501 +DTEND;VALUE=DATE:20170502 +DTSTAMP;VALUE=DATE:20170501 +UID:2017-05-01/2017-05-02/NateScarlet/holiday-cn +END:VEVENT +BEGIN:VEVENT +SUMMARY:上班(补端午节假期) +DTSTART;VALUE=DATE:20170527 +DTEND;VALUE=DATE:20170528 +DTSTAMP;VALUE=DATE:20170527 +UID:2017-05-27/2017-05-28/NateScarlet/holiday-cn +END:VEVENT +BEGIN:VEVENT +SUMMARY:端午节假期 +DTSTART;VALUE=DATE:20170528 +DTEND;VALUE=DATE:20170531 +DTSTAMP;VALUE=DATE:20170528 +UID:2017-05-28/2017-05-31/NateScarlet/holiday-cn +END:VEVENT +BEGIN:VEVENT +SUMMARY:上班(补中秋节、国庆节假期) +DTSTART;VALUE=DATE:20170930 +DTEND;VALUE=DATE:20171001 +DTSTAMP;VALUE=DATE:20170930 +UID:2017-09-30/2017-10-01/NateScarlet/holiday-cn +END:VEVENT +BEGIN:VEVENT +SUMMARY:中秋节、国庆节假期 +DTSTART;VALUE=DATE:20171001 +DTEND;VALUE=DATE:20171009 +DTSTAMP;VALUE=DATE:20171001 +UID:2017-10-01/2017-10-09/NateScarlet/holiday-cn +END:VEVENT +BEGIN:VEVENT +SUMMARY:元旦假期 +DTSTART;VALUE=DATE:20180101 +DTEND;VALUE=DATE:20180102 +DTSTAMP;VALUE=DATE:20180101 +UID:2018-01-01/2018-01-02/NateScarlet/holiday-cn +END:VEVENT +BEGIN:VEVENT +SUMMARY:上班(补春节假期) +DTSTART;VALUE=DATE:20180211 +DTEND;VALUE=DATE:20180212 +DTSTAMP;VALUE=DATE:20180211 +UID:2018-02-11/2018-02-12/NateScarlet/holiday-cn +END:VEVENT +BEGIN:VEVENT +SUMMARY:春节假期 +DTSTART;VALUE=DATE:20180215 +DTEND;VALUE=DATE:20180222 +DTSTAMP;VALUE=DATE:20180215 +UID:2018-02-15/2018-02-22/NateScarlet/holiday-cn +END:VEVENT +BEGIN:VEVENT +SUMMARY:上班(补春节假期) +DTSTART;VALUE=DATE:20180224 +DTEND;VALUE=DATE:20180225 +DTSTAMP;VALUE=DATE:20180224 +UID:2018-02-24/2018-02-25/NateScarlet/holiday-cn +END:VEVENT +BEGIN:VEVENT +SUMMARY:清明节假期 +DTSTART;VALUE=DATE:20180405 +DTEND;VALUE=DATE:20180408 +DTSTAMP;VALUE=DATE:20180405 +UID:2018-04-05/2018-04-08/NateScarlet/holiday-cn +END:VEVENT +BEGIN:VEVENT +SUMMARY:上班(补清明节假期) +DTSTART;VALUE=DATE:20180408 +DTEND;VALUE=DATE:20180409 +DTSTAMP;VALUE=DATE:20180408 +UID:2018-04-08/2018-04-09/NateScarlet/holiday-cn +END:VEVENT +BEGIN:VEVENT +SUMMARY:上班(补劳动节假期) +DTSTART;VALUE=DATE:20180428 +DTEND;VALUE=DATE:20180429 +DTSTAMP;VALUE=DATE:20180428 +UID:2018-04-28/2018-04-29/NateScarlet/holiday-cn +END:VEVENT +BEGIN:VEVENT +SUMMARY:劳动节假期 +DTSTART;VALUE=DATE:20180429 +DTEND;VALUE=DATE:20180502 +DTSTAMP;VALUE=DATE:20180429 +UID:2018-04-29/2018-05-02/NateScarlet/holiday-cn +END:VEVENT +BEGIN:VEVENT +SUMMARY:端午节假期 +DTSTART;VALUE=DATE:20180618 +DTEND;VALUE=DATE:20180619 +DTSTAMP;VALUE=DATE:20180618 +UID:2018-06-18/2018-06-19/NateScarlet/holiday-cn +END:VEVENT +BEGIN:VEVENT +SUMMARY:中秋节假期 +DTSTART;VALUE=DATE:20180924 +DTEND;VALUE=DATE:20180925 +DTSTAMP;VALUE=DATE:20180924 +UID:2018-09-24/2018-09-25/NateScarlet/holiday-cn +END:VEVENT +BEGIN:VEVENT +SUMMARY:上班(补国庆节假期) +DTSTART;VALUE=DATE:20180929 +DTEND;VALUE=DATE:20181001 +DTSTAMP;VALUE=DATE:20180929 +UID:2018-09-29/2018-10-01/NateScarlet/holiday-cn +END:VEVENT +BEGIN:VEVENT +SUMMARY:国庆节假期 +DTSTART;VALUE=DATE:20181001 +DTEND;VALUE=DATE:20181008 +DTSTAMP;VALUE=DATE:20181001 +UID:2018-10-01/2018-10-08/NateScarlet/holiday-cn +END:VEVENT +BEGIN:VEVENT +SUMMARY:上班(补元旦假期) +DTSTART;VALUE=DATE:20181229 +DTEND;VALUE=DATE:20181230 +DTSTAMP;VALUE=DATE:20181229 +UID:2018-12-29/2018-12-30/NateScarlet/holiday-cn +END:VEVENT +BEGIN:VEVENT +SUMMARY:元旦假期 +DTSTART;VALUE=DATE:20181230 +DTEND;VALUE=DATE:20190102 +DTSTAMP;VALUE=DATE:20181230 +UID:2018-12-30/2019-01-02/NateScarlet/holiday-cn +END:VEVENT +BEGIN:VEVENT +SUMMARY:上班(补春节假期) +DTSTART;VALUE=DATE:20190202 +DTEND;VALUE=DATE:20190204 +DTSTAMP;VALUE=DATE:20190202 +UID:2019-02-02/2019-02-04/NateScarlet/holiday-cn +END:VEVENT +BEGIN:VEVENT +SUMMARY:春节假期 +DTSTART;VALUE=DATE:20190204 +DTEND;VALUE=DATE:20190211 +DTSTAMP;VALUE=DATE:20190204 +UID:2019-02-04/2019-02-11/NateScarlet/holiday-cn +END:VEVENT +BEGIN:VEVENT +SUMMARY:清明节假期 +DTSTART;VALUE=DATE:20190405 +DTEND;VALUE=DATE:20190406 +DTSTAMP;VALUE=DATE:20190405 +UID:2019-04-05/2019-04-06/NateScarlet/holiday-cn +END:VEVENT +BEGIN:VEVENT +SUMMARY:上班(补劳动节假期) +DTSTART;VALUE=DATE:20190428 +DTEND;VALUE=DATE:20190429 +DTSTAMP;VALUE=DATE:20190428 +UID:2019-04-28/2019-04-29/NateScarlet/holiday-cn +END:VEVENT +BEGIN:VEVENT +SUMMARY:劳动节假期 +DTSTART;VALUE=DATE:20190501 +DTEND;VALUE=DATE:20190505 +DTSTAMP;VALUE=DATE:20190501 +UID:2019-05-01/2019-05-05/NateScarlet/holiday-cn +END:VEVENT +BEGIN:VEVENT +SUMMARY:上班(补劳动节假期) +DTSTART;VALUE=DATE:20190505 +DTEND;VALUE=DATE:20190506 +DTSTAMP;VALUE=DATE:20190505 +UID:2019-05-05/2019-05-06/NateScarlet/holiday-cn +END:VEVENT +BEGIN:VEVENT +SUMMARY:端午节假期 +DTSTART;VALUE=DATE:20190607 +DTEND;VALUE=DATE:20190608 +DTSTAMP;VALUE=DATE:20190607 +UID:2019-06-07/2019-06-08/NateScarlet/holiday-cn +END:VEVENT +BEGIN:VEVENT +SUMMARY:中秋节假期 +DTSTART;VALUE=DATE:20190913 +DTEND;VALUE=DATE:20190914 +DTSTAMP;VALUE=DATE:20190913 +UID:2019-09-13/2019-09-14/NateScarlet/holiday-cn +END:VEVENT +BEGIN:VEVENT +SUMMARY:上班(补国庆节假期) +DTSTART;VALUE=DATE:20190929 +DTEND;VALUE=DATE:20190930 +DTSTAMP;VALUE=DATE:20190929 +UID:2019-09-29/2019-09-30/NateScarlet/holiday-cn +END:VEVENT +BEGIN:VEVENT +SUMMARY:国庆节假期 +DTSTART;VALUE=DATE:20191001 +DTEND;VALUE=DATE:20191008 +DTSTAMP;VALUE=DATE:20191001 +UID:2019-10-01/2019-10-08/NateScarlet/holiday-cn +END:VEVENT +BEGIN:VEVENT +SUMMARY:上班(补国庆节假期) +DTSTART;VALUE=DATE:20191012 +DTEND;VALUE=DATE:20191013 +DTSTAMP;VALUE=DATE:20191012 +UID:2019-10-12/2019-10-13/NateScarlet/holiday-cn +END:VEVENT +BEGIN:VEVENT +SUMMARY:元旦假期 +DTSTART;VALUE=DATE:20200101 +DTEND;VALUE=DATE:20200102 +DTSTAMP;VALUE=DATE:20200101 +UID:2020-01-01/2020-01-02/NateScarlet/holiday-cn +END:VEVENT +BEGIN:VEVENT +SUMMARY:上班(补春节假期) +DTSTART;VALUE=DATE:20200119 +DTEND;VALUE=DATE:20200120 +DTSTAMP;VALUE=DATE:20200119 +UID:2020-01-19/2020-01-20/NateScarlet/holiday-cn +END:VEVENT +BEGIN:VEVENT +SUMMARY:春节假期 +DTSTART;VALUE=DATE:20200124 +DTEND;VALUE=DATE:20200203 +DTSTAMP;VALUE=DATE:20200124 +UID:2020-01-24/2020-02-03/NateScarlet/holiday-cn +END:VEVENT +BEGIN:VEVENT +SUMMARY:上班(补春节假期) +DTSTART;VALUE=DATE:20200203 +DTEND;VALUE=DATE:20200204 +DTSTAMP;VALUE=DATE:20200203 +UID:2020-02-03/2020-02-04/NateScarlet/holiday-cn +END:VEVENT +BEGIN:VEVENT +SUMMARY:清明节假期 +DTSTART;VALUE=DATE:20200404 +DTEND;VALUE=DATE:20200407 +DTSTAMP;VALUE=DATE:20200404 +UID:2020-04-04/2020-04-07/NateScarlet/holiday-cn +END:VEVENT +BEGIN:VEVENT +SUMMARY:上班(补劳动节假期) +DTSTART;VALUE=DATE:20200426 +DTEND;VALUE=DATE:20200427 +DTSTAMP;VALUE=DATE:20200426 +UID:2020-04-26/2020-04-27/NateScarlet/holiday-cn +END:VEVENT +BEGIN:VEVENT +SUMMARY:劳动节假期 +DTSTART;VALUE=DATE:20200501 +DTEND;VALUE=DATE:20200506 +DTSTAMP;VALUE=DATE:20200501 +UID:2020-05-01/2020-05-06/NateScarlet/holiday-cn +END:VEVENT +BEGIN:VEVENT +SUMMARY:上班(补劳动节假期) +DTSTART;VALUE=DATE:20200509 +DTEND;VALUE=DATE:20200510 +DTSTAMP;VALUE=DATE:20200509 +UID:2020-05-09/2020-05-10/NateScarlet/holiday-cn +END:VEVENT +BEGIN:VEVENT +SUMMARY:端午节假期 +DTSTART;VALUE=DATE:20200625 +DTEND;VALUE=DATE:20200628 +DTSTAMP;VALUE=DATE:20200625 +UID:2020-06-25/2020-06-28/NateScarlet/holiday-cn +END:VEVENT +BEGIN:VEVENT +SUMMARY:上班(补端午节假期) +DTSTART;VALUE=DATE:20200628 +DTEND;VALUE=DATE:20200629 +DTSTAMP;VALUE=DATE:20200628 +UID:2020-06-28/2020-06-29/NateScarlet/holiday-cn +END:VEVENT +BEGIN:VEVENT +SUMMARY:上班(补国庆节、中秋节假期) +DTSTART;VALUE=DATE:20200927 +DTEND;VALUE=DATE:20200928 +DTSTAMP;VALUE=DATE:20200927 +UID:2020-09-27/2020-09-28/NateScarlet/holiday-cn +END:VEVENT +BEGIN:VEVENT +SUMMARY:国庆节、中秋节假期 +DTSTART;VALUE=DATE:20201001 +DTEND;VALUE=DATE:20201009 +DTSTAMP;VALUE=DATE:20201001 +UID:2020-10-01/2020-10-09/NateScarlet/holiday-cn +END:VEVENT +BEGIN:VEVENT +SUMMARY:上班(补国庆节、中秋节假期) +DTSTART;VALUE=DATE:20201010 +DTEND;VALUE=DATE:20201011 +DTSTAMP;VALUE=DATE:20201010 +UID:2020-10-10/2020-10-11/NateScarlet/holiday-cn +END:VEVENT +BEGIN:VEVENT +SUMMARY:元旦假期 +DTSTART;VALUE=DATE:20210101 +DTEND;VALUE=DATE:20210104 +DTSTAMP;VALUE=DATE:20210101 +UID:2021-01-01/2021-01-04/NateScarlet/holiday-cn +END:VEVENT +BEGIN:VEVENT +SUMMARY:上班(补春节假期) +DTSTART;VALUE=DATE:20210207 +DTEND;VALUE=DATE:20210208 +DTSTAMP;VALUE=DATE:20210207 +UID:2021-02-07/2021-02-08/NateScarlet/holiday-cn +END:VEVENT +BEGIN:VEVENT +SUMMARY:春节假期 +DTSTART;VALUE=DATE:20210211 +DTEND;VALUE=DATE:20210218 +DTSTAMP;VALUE=DATE:20210211 +UID:2021-02-11/2021-02-18/NateScarlet/holiday-cn +END:VEVENT +BEGIN:VEVENT +SUMMARY:上班(补春节假期) +DTSTART;VALUE=DATE:20210220 +DTEND;VALUE=DATE:20210221 +DTSTAMP;VALUE=DATE:20210220 +UID:2021-02-20/2021-02-21/NateScarlet/holiday-cn +END:VEVENT +BEGIN:VEVENT +SUMMARY:清明节假期 +DTSTART;VALUE=DATE:20210403 +DTEND;VALUE=DATE:20210406 +DTSTAMP;VALUE=DATE:20210403 +UID:2021-04-03/2021-04-06/NateScarlet/holiday-cn +END:VEVENT +BEGIN:VEVENT +SUMMARY:上班(补劳动节假期) +DTSTART;VALUE=DATE:20210425 +DTEND;VALUE=DATE:20210426 +DTSTAMP;VALUE=DATE:20210425 +UID:2021-04-25/2021-04-26/NateScarlet/holiday-cn +END:VEVENT +BEGIN:VEVENT +SUMMARY:劳动节假期 +DTSTART;VALUE=DATE:20210501 +DTEND;VALUE=DATE:20210506 +DTSTAMP;VALUE=DATE:20210501 +UID:2021-05-01/2021-05-06/NateScarlet/holiday-cn +END:VEVENT +BEGIN:VEVENT +SUMMARY:上班(补劳动节假期) +DTSTART;VALUE=DATE:20210508 +DTEND;VALUE=DATE:20210509 +DTSTAMP;VALUE=DATE:20210508 +UID:2021-05-08/2021-05-09/NateScarlet/holiday-cn +END:VEVENT +BEGIN:VEVENT +SUMMARY:端午节假期 +DTSTART;VALUE=DATE:20210612 +DTEND;VALUE=DATE:20210615 +DTSTAMP;VALUE=DATE:20210612 +UID:2021-06-12/2021-06-15/NateScarlet/holiday-cn +END:VEVENT +BEGIN:VEVENT +SUMMARY:上班(补中秋节假期) +DTSTART;VALUE=DATE:20210918 +DTEND;VALUE=DATE:20210919 +DTSTAMP;VALUE=DATE:20210918 +UID:2021-09-18/2021-09-19/NateScarlet/holiday-cn +END:VEVENT +BEGIN:VEVENT +SUMMARY:中秋节假期 +DTSTART;VALUE=DATE:20210919 +DTEND;VALUE=DATE:20210922 +DTSTAMP;VALUE=DATE:20210919 +UID:2021-09-19/2021-09-22/NateScarlet/holiday-cn +END:VEVENT +BEGIN:VEVENT +SUMMARY:上班(补国庆节假期) +DTSTART;VALUE=DATE:20210926 +DTEND;VALUE=DATE:20210927 +DTSTAMP;VALUE=DATE:20210926 +UID:2021-09-26/2021-09-27/NateScarlet/holiday-cn +END:VEVENT +BEGIN:VEVENT +SUMMARY:国庆节假期 +DTSTART;VALUE=DATE:20211001 +DTEND;VALUE=DATE:20211008 +DTSTAMP;VALUE=DATE:20211001 +UID:2021-10-01/2021-10-08/NateScarlet/holiday-cn +END:VEVENT +BEGIN:VEVENT +SUMMARY:上班(补国庆节假期) +DTSTART;VALUE=DATE:20211009 +DTEND;VALUE=DATE:20211010 +DTSTAMP;VALUE=DATE:20211009 +UID:2021-10-09/2021-10-10/NateScarlet/holiday-cn +END:VEVENT +END:VCALENDAR diff --git a/update.py b/update.py index eb36b34..e27623c 100755 --- a/update.py +++ b/update.py @@ -73,11 +73,11 @@ def update_holiday_ics(fr_year, to_year): filename = _file_path(f'{year}.json') if not os.path.isfile(filename): continue - with open(filename, 'r') as inf: + with open(filename, 'r', encoding="utf8") as inf: data = json.loads(inf.read()) big_days.extend(data.get('days')) - conv_json_to_ics({"days": sorted(big_days, key=lambda x: x["date"])}, filename='holiday_cn') + conv_json_to_ics({"days": sorted(big_days, key=lambda x: x["date"])}, filename='holiday-cn') def main(): @@ -99,6 +99,8 @@ def main(): filenames.append(filename) print('') + update_holiday_ics(now.year-4, now.year+1) + subprocess.run(['hub', 'add', *filenames], check=True) diff = subprocess.run(['hub', 'diff', '--stat', '--cached', '*.json', '*.ics'], check=True, @@ -108,7 +110,6 @@ def main(): print('Already up to date.') return - update_holiday_ics(now.year-4, now.year+1) if not is_release: print('Updated repository data, skip release since not specified `--release`')