feat: add ics output (#128)

close #33
This commit is contained in:
retanoj 2021-10-10 02:02:56 +08:00 committed by GitHub
parent caf226372c
commit 8c7b967a43
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
20 changed files with 2062 additions and 1 deletions

76
2007.ics Normal file
View File

@ -0,0 +1,76 @@
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:20061230
DTEND;VALUE=DATE:20070101
DTSTAMP;VALUE=DATE:20061230
UID:2006-12-30/2007-01-01/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:元旦假期
DTSTART;VALUE=DATE:20070101
DTEND;VALUE=DATE:20070104
DTSTAMP;VALUE=DATE:20070101
UID:2007-01-01/2007-01-04/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:上班(补春节假期)
DTSTART;VALUE=DATE:20070217
DTEND;VALUE=DATE:20070218
DTSTAMP;VALUE=DATE:20070217
UID:2007-02-17/2007-02-18/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:春节假期
DTSTART;VALUE=DATE:20070218
DTEND;VALUE=DATE:20070225
DTSTAMP;VALUE=DATE:20070218
UID:2007-02-18/2007-02-25/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:上班(补春节假期)
DTSTART;VALUE=DATE:20070225
DTEND;VALUE=DATE:20070226
DTSTAMP;VALUE=DATE:20070225
UID:2007-02-25/2007-02-26/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:上班(补“五一”假期)
DTSTART;VALUE=DATE:20070428
DTEND;VALUE=DATE:20070430
DTSTAMP;VALUE=DATE:20070428
UID:2007-04-28/2007-04-30/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:“五一”假期
DTSTART;VALUE=DATE:20070501
DTEND;VALUE=DATE:20070508
DTSTAMP;VALUE=DATE:20070501
UID:2007-05-01/2007-05-08/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:上班(补“十一”假期)
DTSTART;VALUE=DATE:20070929
DTEND;VALUE=DATE:20071001
DTSTAMP;VALUE=DATE:20070929
UID:2007-09-29/2007-10-01/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:“十一”假期
DTSTART;VALUE=DATE:20071001
DTEND;VALUE=DATE:20071008
DTSTAMP;VALUE=DATE:20071001
UID:2007-10-01/2007-10-08/NateScarlet/holiday-cn
END:VEVENT
END:VCALENDAR

90
2008.ics Normal file
View File

@ -0,0 +1,90 @@
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:20071229
DTEND;VALUE=DATE:20071230
DTSTAMP;VALUE=DATE:20071229
UID:2007-12-29/2007-12-30/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:元旦假期
DTSTART;VALUE=DATE:20071230
DTEND;VALUE=DATE:20080102
DTSTAMP;VALUE=DATE:20071230
UID:2007-12-30/2008-01-02/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:上班(补春节假期)
DTSTART;VALUE=DATE:20080202
DTEND;VALUE=DATE:20080204
DTSTAMP;VALUE=DATE:20080202
UID:2008-02-02/2008-02-04/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:春节假期
DTSTART;VALUE=DATE:20080206
DTEND;VALUE=DATE:20080213
DTSTAMP;VALUE=DATE:20080206
UID:2008-02-06/2008-02-13/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:清明节假期
DTSTART;VALUE=DATE:20080404
DTEND;VALUE=DATE:20080407
DTSTAMP;VALUE=DATE:20080404
UID:2008-04-04/2008-04-07/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:“五一”国际劳动节假期
DTSTART;VALUE=DATE:20080501
DTEND;VALUE=DATE:20080504
DTSTAMP;VALUE=DATE:20080501
UID:2008-05-01/2008-05-04/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:上班(补“五一”国际劳动节假期)
DTSTART;VALUE=DATE:20080504
DTEND;VALUE=DATE:20080505
DTSTAMP;VALUE=DATE:20080504
UID:2008-05-04/2008-05-05/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:端午节假期
DTSTART;VALUE=DATE:20080607
DTEND;VALUE=DATE:20080610
DTSTAMP;VALUE=DATE:20080607
UID:2008-06-07/2008-06-10/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:中秋节假期
DTSTART;VALUE=DATE:20080913
DTEND;VALUE=DATE:20080916
DTSTAMP;VALUE=DATE:20080913
UID:2008-09-13/2008-09-16/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:上班(补国庆节假期)
DTSTART;VALUE=DATE:20080927
DTEND;VALUE=DATE:20080929
DTSTAMP;VALUE=DATE:20080927
UID:2008-09-27/2008-09-29/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:国庆节假期
DTSTART;VALUE=DATE:20080929
DTEND;VALUE=DATE:20081006
DTSTAMP;VALUE=DATE:20080929
UID:2008-09-29/2008-10-06/NateScarlet/holiday-cn
END:VEVENT
END:VCALENDAR

97
2009.ics Normal file
View File

@ -0,0 +1,97 @@
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:20090101
DTEND;VALUE=DATE:20090104
DTSTAMP;VALUE=DATE:20090101
UID:2009-01-01/2009-01-04/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:上班(补元旦假期)
DTSTART;VALUE=DATE:20090104
DTEND;VALUE=DATE:20090105
DTSTAMP;VALUE=DATE:20090104
UID:2009-01-04/2009-01-05/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:上班(补春节假期)
DTSTART;VALUE=DATE:20090124
DTEND;VALUE=DATE:20090125
DTSTAMP;VALUE=DATE:20090124
UID:2009-01-24/2009-01-25/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:春节假期
DTSTART;VALUE=DATE:20090125
DTEND;VALUE=DATE:20090201
DTSTAMP;VALUE=DATE:20090125
UID:2009-01-25/2009-02-01/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:上班(补春节假期)
DTSTART;VALUE=DATE:20090201
DTEND;VALUE=DATE:20090202
DTSTAMP;VALUE=DATE:20090201
UID:2009-02-01/2009-02-02/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:清明节假期
DTSTART;VALUE=DATE:20090404
DTEND;VALUE=DATE:20090407
DTSTAMP;VALUE=DATE:20090404
UID:2009-04-04/2009-04-07/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:劳动节假期
DTSTART;VALUE=DATE:20090501
DTEND;VALUE=DATE:20090504
DTSTAMP;VALUE=DATE:20090501
UID:2009-05-01/2009-05-04/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:端午节假期
DTSTART;VALUE=DATE:20090528
DTEND;VALUE=DATE:20090531
DTSTAMP;VALUE=DATE:20090528
UID:2009-05-28/2009-05-31/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:上班(补端午节假期)
DTSTART;VALUE=DATE:20090531
DTEND;VALUE=DATE:20090601
DTSTAMP;VALUE=DATE:20090531
UID:2009-05-31/2009-06-01/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:上班(补国庆节、中秋节假期)
DTSTART;VALUE=DATE:20090927
DTEND;VALUE=DATE:20090928
DTSTAMP;VALUE=DATE:20090927
UID:2009-09-27/2009-09-28/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:国庆节、中秋节假期
DTSTART;VALUE=DATE:20091001
DTEND;VALUE=DATE:20091009
DTSTAMP;VALUE=DATE:20091001
UID:2009-10-01/2009-10-09/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:上班(补国庆节、中秋节假期)
DTSTART;VALUE=DATE:20091010
DTEND;VALUE=DATE:20091011
DTSTAMP;VALUE=DATE:20091010
UID:2009-10-10/2009-10-11/NateScarlet/holiday-cn
END:VEVENT
END:VCALENDAR

97
2010.ics Normal file
View File

@ -0,0 +1,97 @@
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:20100101
DTEND;VALUE=DATE:20100104
DTSTAMP;VALUE=DATE:20100101
UID:2010-01-01/2010-01-04/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:春节假期
DTSTART;VALUE=DATE:20100213
DTEND;VALUE=DATE:20100220
DTSTAMP;VALUE=DATE:20100213
UID:2010-02-13/2010-02-20/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:上班(补春节假期)
DTSTART;VALUE=DATE:20100220
DTEND;VALUE=DATE:20100222
DTSTAMP;VALUE=DATE:20100220
UID:2010-02-20/2010-02-22/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:清明节假期
DTSTART;VALUE=DATE:20100403
DTEND;VALUE=DATE:20100406
DTSTAMP;VALUE=DATE:20100403
UID:2010-04-03/2010-04-06/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:劳动节假期
DTSTART;VALUE=DATE:20100501
DTEND;VALUE=DATE:20100504
DTSTAMP;VALUE=DATE:20100501
UID:2010-05-01/2010-05-04/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:上班(补端午节假期)
DTSTART;VALUE=DATE:20100612
DTEND;VALUE=DATE:20100614
DTSTAMP;VALUE=DATE:20100612
UID:2010-06-12/2010-06-14/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:端午节假期
DTSTART;VALUE=DATE:20100614
DTEND;VALUE=DATE:20100617
DTSTAMP;VALUE=DATE:20100614
UID:2010-06-14/2010-06-17/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:上班(补中秋节假期)
DTSTART;VALUE=DATE:20100919
DTEND;VALUE=DATE:20100920
DTSTAMP;VALUE=DATE:20100919
UID:2010-09-19/2010-09-20/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:中秋节假期
DTSTART;VALUE=DATE:20100922
DTEND;VALUE=DATE:20100925
DTSTAMP;VALUE=DATE:20100922
UID:2010-09-22/2010-09-25/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:上班(补中秋节假期)
DTSTART;VALUE=DATE:20100925
DTEND;VALUE=DATE:20100927
DTSTAMP;VALUE=DATE:20100925
UID:2010-09-25/2010-09-27/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:国庆节假期
DTSTART;VALUE=DATE:20101001
DTEND;VALUE=DATE:20101008
DTSTAMP;VALUE=DATE:20101001
UID:2010-10-01/2010-10-08/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:上班(补国庆节假期)
DTSTART;VALUE=DATE:20101009
DTEND;VALUE=DATE:20101010
DTSTAMP;VALUE=DATE:20101009
UID:2010-10-09/2010-10-10/NateScarlet/holiday-cn
END:VEVENT
END:VCALENDAR

97
2011.ics Normal file
View File

@ -0,0 +1,97 @@
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:20110101
DTEND;VALUE=DATE:20110104
DTSTAMP;VALUE=DATE:20110101
UID:2011-01-01/2011-01-04/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:上班(补春节假期)
DTSTART;VALUE=DATE:20110130
DTEND;VALUE=DATE:20110131
DTSTAMP;VALUE=DATE:20110130
UID:2011-01-30/2011-01-31/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:春节假期
DTSTART;VALUE=DATE:20110202
DTEND;VALUE=DATE:20110203
DTSTAMP;VALUE=DATE:20110202
UID:2011-02-02/2011-02-03/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:春节假期
DTSTART;VALUE=DATE:20110208
DTEND;VALUE=DATE:20110209
DTSTAMP;VALUE=DATE:20110208
UID:2011-02-08/2011-02-09/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:上班(补春节假期)
DTSTART;VALUE=DATE:20110212
DTEND;VALUE=DATE:20110213
DTSTAMP;VALUE=DATE:20110212
UID:2011-02-12/2011-02-13/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:上班(补清明节假期)
DTSTART;VALUE=DATE:20110402
DTEND;VALUE=DATE:20110403
DTSTAMP;VALUE=DATE:20110402
UID:2011-04-02/2011-04-03/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:清明节假期
DTSTART;VALUE=DATE:20110403
DTEND;VALUE=DATE:20110406
DTSTAMP;VALUE=DATE:20110403
UID:2011-04-03/2011-04-06/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:劳动节假期
DTSTART;VALUE=DATE:20110430
DTEND;VALUE=DATE:20110503
DTSTAMP;VALUE=DATE:20110430
UID:2011-04-30/2011-05-03/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:端午节假期
DTSTART;VALUE=DATE:20110604
DTEND;VALUE=DATE:20110607
DTSTAMP;VALUE=DATE:20110604
UID:2011-06-04/2011-06-07/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:中秋节假期
DTSTART;VALUE=DATE:20110910
DTEND;VALUE=DATE:20110913
DTSTAMP;VALUE=DATE:20110910
UID:2011-09-10/2011-09-13/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:国庆节假期
DTSTART;VALUE=DATE:20111001
DTEND;VALUE=DATE:20111008
DTSTAMP;VALUE=DATE:20111001
UID:2011-10-01/2011-10-08/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:上班(补国庆节假期)
DTSTART;VALUE=DATE:20111008
DTEND;VALUE=DATE:20111010
DTSTAMP;VALUE=DATE:20111008
UID:2011-10-08/2011-10-10/NateScarlet/holiday-cn
END:VEVENT
END:VCALENDAR

97
2012.ics Normal file
View File

@ -0,0 +1,97 @@
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:20111231
DTEND;VALUE=DATE:20120101
DTSTAMP;VALUE=DATE:20111231
UID:2011-12-31/2012-01-01/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:元旦假期
DTSTART;VALUE=DATE:20120101
DTEND;VALUE=DATE:20120104
DTSTAMP;VALUE=DATE:20120101
UID:2012-01-01/2012-01-04/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:上班(补春节假期)
DTSTART;VALUE=DATE:20120121
DTEND;VALUE=DATE:20120122
DTSTAMP;VALUE=DATE:20120121
UID:2012-01-21/2012-01-22/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:春节假期
DTSTART;VALUE=DATE:20120122
DTEND;VALUE=DATE:20120129
DTSTAMP;VALUE=DATE:20120122
UID:2012-01-22/2012-01-29/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:上班(补春节假期)
DTSTART;VALUE=DATE:20120129
DTEND;VALUE=DATE:20120130
DTSTAMP;VALUE=DATE:20120129
UID:2012-01-29/2012-01-30/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:上班(补清明节假期)
DTSTART;VALUE=DATE:20120331
DTEND;VALUE=DATE:20120402
DTSTAMP;VALUE=DATE:20120331
UID:2012-03-31/2012-04-02/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:清明节假期
DTSTART;VALUE=DATE:20120402
DTEND;VALUE=DATE:20120405
DTSTAMP;VALUE=DATE:20120402
UID:2012-04-02/2012-04-05/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:上班(补劳动节假期)
DTSTART;VALUE=DATE:20120428
DTEND;VALUE=DATE:20120429
DTSTAMP;VALUE=DATE:20120428
UID:2012-04-28/2012-04-29/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:劳动节假期
DTSTART;VALUE=DATE:20120429
DTEND;VALUE=DATE:20120502
DTSTAMP;VALUE=DATE:20120429
UID:2012-04-29/2012-05-02/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:端午节假期
DTSTART;VALUE=DATE:20120622
DTEND;VALUE=DATE:20120625
DTSTAMP;VALUE=DATE:20120622
UID:2012-06-22/2012-06-25/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:上班(补中秋节、国庆节假期)
DTSTART;VALUE=DATE:20120929
DTEND;VALUE=DATE:20120930
DTSTAMP;VALUE=DATE:20120929
UID:2012-09-29/2012-09-30/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:中秋节、国庆节假期
DTSTART;VALUE=DATE:20120930
DTEND;VALUE=DATE:20121008
DTSTAMP;VALUE=DATE:20120930
UID:2012-09-30/2012-10-08/NateScarlet/holiday-cn
END:VEVENT
END:VCALENDAR

118
2013.ics Normal file
View File

@ -0,0 +1,118 @@
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:20130101
DTEND;VALUE=DATE:20130104
DTSTAMP;VALUE=DATE:20130101
UID:2013-01-01/2013-01-04/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:上班(补元旦假期)
DTSTART;VALUE=DATE:20130105
DTEND;VALUE=DATE:20130107
DTSTAMP;VALUE=DATE:20130105
UID:2013-01-05/2013-01-07/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:春节假期
DTSTART;VALUE=DATE:20130209
DTEND;VALUE=DATE:20130216
DTSTAMP;VALUE=DATE:20130209
UID:2013-02-09/2013-02-16/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:上班(补春节假期)
DTSTART;VALUE=DATE:20130216
DTEND;VALUE=DATE:20130218
DTSTAMP;VALUE=DATE:20130216
UID:2013-02-16/2013-02-18/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:清明节假期
DTSTART;VALUE=DATE:20130404
DTEND;VALUE=DATE:20130407
DTSTAMP;VALUE=DATE:20130404
UID:2013-04-04/2013-04-07/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:上班(补清明节假期)
DTSTART;VALUE=DATE:20130407
DTEND;VALUE=DATE:20130408
DTSTAMP;VALUE=DATE:20130407
UID:2013-04-07/2013-04-08/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:上班(补劳动节假期)
DTSTART;VALUE=DATE:20130427
DTEND;VALUE=DATE:20130429
DTSTAMP;VALUE=DATE:20130427
UID:2013-04-27/2013-04-29/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:劳动节假期
DTSTART;VALUE=DATE:20130429
DTEND;VALUE=DATE:20130502
DTSTAMP;VALUE=DATE:20130429
UID:2013-04-29/2013-05-02/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:上班(补端午节假期)
DTSTART;VALUE=DATE:20130608
DTEND;VALUE=DATE:20130610
DTSTAMP;VALUE=DATE:20130608
UID:2013-06-08/2013-06-10/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:端午节假期
DTSTART;VALUE=DATE:20130610
DTEND;VALUE=DATE:20130613
DTSTAMP;VALUE=DATE:20130610
UID:2013-06-10/2013-06-13/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:中秋节假期
DTSTART;VALUE=DATE:20130919
DTEND;VALUE=DATE:20130922
DTSTAMP;VALUE=DATE:20130919
UID:2013-09-19/2013-09-22/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:上班(补中秋节假期)
DTSTART;VALUE=DATE:20130922
DTEND;VALUE=DATE:20130923
DTSTAMP;VALUE=DATE:20130922
UID:2013-09-22/2013-09-23/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:上班(补国庆节假期)
DTSTART;VALUE=DATE:20130929
DTEND;VALUE=DATE:20130930
DTSTAMP;VALUE=DATE:20130929
UID:2013-09-29/2013-09-30/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:国庆节假期
DTSTART;VALUE=DATE:20131001
DTEND;VALUE=DATE:20131008
DTSTAMP;VALUE=DATE:20131001
UID:2013-10-01/2013-10-08/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:上班(补国庆节假期)
DTSTART;VALUE=DATE:20131012
DTEND;VALUE=DATE:20131013
DTSTAMP;VALUE=DATE:20131012
UID:2013-10-12/2013-10-13/NateScarlet/holiday-cn
END:VEVENT
END:VCALENDAR

104
2014.ics Normal file
View File

@ -0,0 +1,104 @@
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:20140101
DTEND;VALUE=DATE:20140102
DTSTAMP;VALUE=DATE:20140101
UID:2014-01-01/2014-01-02/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:上班(补春节假期)
DTSTART;VALUE=DATE:20140126
DTEND;VALUE=DATE:20140127
DTSTAMP;VALUE=DATE:20140126
UID:2014-01-26/2014-01-27/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:春节假期
DTSTART;VALUE=DATE:20140131
DTEND;VALUE=DATE:20140207
DTSTAMP;VALUE=DATE:20140131
UID:2014-01-31/2014-02-07/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:上班(补春节假期)
DTSTART;VALUE=DATE:20140208
DTEND;VALUE=DATE:20140209
DTSTAMP;VALUE=DATE:20140208
UID:2014-02-08/2014-02-09/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:清明节假期
DTSTART;VALUE=DATE:20140405
DTEND;VALUE=DATE:20140406
DTSTAMP;VALUE=DATE:20140405
UID:2014-04-05/2014-04-06/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:清明节假期
DTSTART;VALUE=DATE:20140407
DTEND;VALUE=DATE:20140408
DTSTAMP;VALUE=DATE:20140407
UID:2014-04-07/2014-04-08/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:劳动节假期
DTSTART;VALUE=DATE:20140501
DTEND;VALUE=DATE:20140504
DTSTAMP;VALUE=DATE:20140501
UID:2014-05-01/2014-05-04/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:上班(补劳动节假期)
DTSTART;VALUE=DATE:20140504
DTEND;VALUE=DATE:20140505
DTSTAMP;VALUE=DATE:20140504
UID:2014-05-04/2014-05-05/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:端午节假期
DTSTART;VALUE=DATE:20140602
DTEND;VALUE=DATE:20140603
DTSTAMP;VALUE=DATE:20140602
UID:2014-06-02/2014-06-03/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:中秋节假期
DTSTART;VALUE=DATE:20140908
DTEND;VALUE=DATE:20140909
DTSTAMP;VALUE=DATE:20140908
UID:2014-09-08/2014-09-09/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:上班(补国庆节假期)
DTSTART;VALUE=DATE:20140928
DTEND;VALUE=DATE:20140929
DTSTAMP;VALUE=DATE:20140928
UID:2014-09-28/2014-09-29/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:国庆节假期
DTSTART;VALUE=DATE:20141001
DTEND;VALUE=DATE:20141008
DTSTAMP;VALUE=DATE:20141001
UID:2014-10-01/2014-10-08/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:上班(补国庆节假期)
DTSTART;VALUE=DATE:20141011
DTEND;VALUE=DATE:20141012
DTSTAMP;VALUE=DATE:20141011
UID:2014-10-11/2014-10-12/NateScarlet/holiday-cn
END:VEVENT
END:VCALENDAR

113
2015.ics Normal file
View File

@ -0,0 +1,113 @@
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:20150101
DTEND;VALUE=DATE:20150104
DTSTAMP;VALUE=DATE:20150101
UID:2015-01-01/2015-01-04/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:上班(补元旦假期)
DTSTART;VALUE=DATE:20150104
DTEND;VALUE=DATE:20150105
DTSTAMP;VALUE=DATE:20150104
UID:2015-01-04/2015-01-05/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:上班(补春节假期)
DTSTART;VALUE=DATE:20150215
DTEND;VALUE=DATE:20150216
DTSTAMP;VALUE=DATE:20150215
UID:2015-02-15/2015-02-16/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:春节假期
DTSTART;VALUE=DATE:20150218
DTEND;VALUE=DATE:20150225
DTSTAMP;VALUE=DATE:20150218
UID:2015-02-18/2015-02-25/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:上班(补春节假期)
DTSTART;VALUE=DATE:20150228
DTEND;VALUE=DATE:20150301
DTSTAMP;VALUE=DATE:20150228
UID:2015-02-28/2015-03-01/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:清明节假期
DTSTART;VALUE=DATE:20150405
DTEND;VALUE=DATE:20150407
DTSTAMP;VALUE=DATE:20150405
UID:2015-04-05/2015-04-07/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:劳动节假期
DTSTART;VALUE=DATE:20150501
DTEND;VALUE=DATE:20150502
DTSTAMP;VALUE=DATE:20150501
UID:2015-05-01/2015-05-02/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:端午节假期
DTSTART;VALUE=DATE:20150620
DTEND;VALUE=DATE:20150621
DTSTAMP;VALUE=DATE:20150620
UID:2015-06-20/2015-06-21/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:端午节假期
DTSTART;VALUE=DATE:20150622
DTEND;VALUE=DATE:20150623
DTSTAMP;VALUE=DATE:20150622
UID:2015-06-22/2015-06-23/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:抗日战争暨世界反法西斯战争胜利70周年纪念日假
DTSTART;VALUE=DATE:20150903
DTEND;VALUE=DATE:20150906
DTSTAMP;VALUE=DATE:20150903
UID:2015-09-03/2015-09-06/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:上班(补抗日战争暨世界反法西斯战争胜利70周年纪
念日假期)
DTSTART;VALUE=DATE:20150906
DTEND;VALUE=DATE:20150907
DTSTAMP;VALUE=DATE:20150906
UID:2015-09-06/2015-09-07/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:中秋节假期
DTSTART;VALUE=DATE:20150927
DTEND;VALUE=DATE:20150928
DTSTAMP;VALUE=DATE:20150927
UID:2015-09-27/2015-09-28/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:国庆节假期
DTSTART;VALUE=DATE:20151001
DTEND;VALUE=DATE:20151008
DTSTAMP;VALUE=DATE:20151001
UID:2015-10-01/2015-10-08/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:上班(补国庆节假期)
DTSTART;VALUE=DATE:20151010
DTEND;VALUE=DATE:20151011
DTSTAMP;VALUE=DATE:20151010
UID:2015-10-10/2015-10-11/NateScarlet/holiday-cn
END:VEVENT
END:VCALENDAR

97
2016.ics Normal file
View File

@ -0,0 +1,97 @@
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:20160101
DTEND;VALUE=DATE:20160102
DTSTAMP;VALUE=DATE:20160101
UID:2016-01-01/2016-01-02/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:上班(补春节假期)
DTSTART;VALUE=DATE:20160206
DTEND;VALUE=DATE:20160207
DTSTAMP;VALUE=DATE:20160206
UID:2016-02-06/2016-02-07/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:春节假期
DTSTART;VALUE=DATE:20160207
DTEND;VALUE=DATE:20160214
DTSTAMP;VALUE=DATE:20160207
UID:2016-02-07/2016-02-14/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:上班(补春节假期)
DTSTART;VALUE=DATE:20160214
DTEND;VALUE=DATE:20160215
DTSTAMP;VALUE=DATE:20160214
UID:2016-02-14/2016-02-15/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:清明节假期
DTSTART;VALUE=DATE:20160404
DTEND;VALUE=DATE:20160405
DTSTAMP;VALUE=DATE:20160404
UID:2016-04-04/2016-04-05/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:劳动节假期
DTSTART;VALUE=DATE:20160501
DTEND;VALUE=DATE:20160503
DTSTAMP;VALUE=DATE:20160501
UID:2016-05-01/2016-05-03/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:端午节假期
DTSTART;VALUE=DATE:20160609
DTEND;VALUE=DATE:20160612
DTSTAMP;VALUE=DATE:20160609
UID:2016-06-09/2016-06-12/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:上班(补端午节假期)
DTSTART;VALUE=DATE:20160612
DTEND;VALUE=DATE:20160613
DTSTAMP;VALUE=DATE:20160612
UID:2016-06-12/2016-06-13/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:中秋节假期
DTSTART;VALUE=DATE:20160915
DTEND;VALUE=DATE:20160918
DTSTAMP;VALUE=DATE:20160915
UID:2016-09-15/2016-09-18/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:上班(补中秋节假期)
DTSTART;VALUE=DATE:20160918
DTEND;VALUE=DATE:20160919
DTSTAMP;VALUE=DATE:20160918
UID:2016-09-18/2016-09-19/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:国庆节假期
DTSTART;VALUE=DATE:20161001
DTEND;VALUE=DATE:20161008
DTSTAMP;VALUE=DATE:20161001
UID:2016-10-01/2016-10-08/NateScarlet/holiday-cn
END:VEVENT
BEGIN:VEVENT
SUMMARY:上班(补国庆节假期)
DTSTART;VALUE=DATE:20161008
DTEND;VALUE=DATE:20161010
DTSTAMP;VALUE=DATE:20161008
UID:2016-10-08/2016-10-10/NateScarlet/holiday-cn
END:VEVENT
END:VCALENDAR

90
2017.ics Normal file
View File

@ -0,0 +1,90 @@
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
END:VCALENDAR

97
2018.ics Normal file
View File

@ -0,0 +1,97 @@
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: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
END:VCALENDAR

104
2019.ics Normal file
View File

@ -0,0 +1,104 @@
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: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
END:VCALENDAR

104
2020.ics Normal file
View File

@ -0,0 +1,104 @@
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: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
END:VCALENDAR

111
2021.ics Normal file
View File

@ -0,0 +1,111 @@
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: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

13
2022.ics Normal file
View File

@ -0,0 +1,13 @@
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
END:VCALENDAR

83
conv_to_ics.py Normal file
View File

@ -0,0 +1,83 @@
import datetime
from icalendar import Event, Calendar, Timezone, TimezoneStandard
def create_timezone():
tz = Timezone()
tz.add('TZID', 'Asia/Shanghai')
tz_standard = TimezoneStandard()
tz_standard.add('DTSTART', datetime.datetime(1970, 1, 1))
tz_standard.add('TZOFFSETFROM', datetime.timedelta(hours=8))
tz_standard.add('TZOFFSETTO', datetime.timedelta(hours=8))
tz.add_component(tz_standard)
return tz
def create_event(event_name, start, end):
# 创建事件/日程
event = Event()
event.add('SUMMARY', event_name)
event.add('DTSTART', start)
event.add('DTEND', end)
# 创建时间
event.add('DTSTAMP', start)
# UID保证唯一
event['UID'] = f'{start}/{end}/NateScarlet/holiday-cn'
return event
def ranger(lst):
if len(lst) == 0:
return []
if len(lst) == 1:
return [(lst[0], lst[0])]
fr, to = lst[0], lst[0]
for cur in lst[1:]:
if (cur.get('date') - to.get('date')).days == 1 \
and cur.get('isOffDay') == to.get('isOffDay'):
to = cur
else:
yield fr, to
fr, to = cur, cur
yield fr, to
def conv_json_to_ics(data, filename):
"""
将爬取的节假日JSON数据转换为ICS
Args:
filename: str
data: from `fetch_holiday`
"""
cal = Calendar()
cal.add('VERSION', '2.0')
cal.add('METHOD', 'PUBLISH')
cal.add('CLASS', 'PUBLIC')
cal.add_component(create_timezone())
days = data.get('days', [])
for day in days:
if isinstance(day.get('date'), str):
day['date'] = datetime.date(*map(int, day['date'].split('-')))
for fr, to in ranger(days):
start = fr.get('date')
end = to.get('date') + datetime.timedelta(days=1)
name = fr.get('name') + "假期"
if not fr.get('isOffDay'):
name = "上班(补" + name + ")"
cal.add_component(create_event(name, start, end))
with open(f'{filename}.ics', 'wb') as ics:
ics.write(cal.to_ical())

454
holiday_cn.ics Normal file
View File

@ -0,0 +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

View File

@ -1,3 +1,4 @@
requests==2.26.0 requests==2.26.0
beautifulsoup4==4.10.0 beautifulsoup4==4.10.0
tqdm==4.62.3 tqdm==4.62.3
icalendar==4.0.8

View File

@ -13,6 +13,7 @@ from zipfile import ZipFile
from tqdm import tqdm from tqdm import tqdm
from fetch_holidays import CustomJSONEncoder, fetch_holiday from fetch_holidays import CustomJSONEncoder, fetch_holiday
from conv_to_ics import conv_json_to_ics
class ChinaTimezone(tzinfo): class ChinaTimezone(tzinfo):
@ -61,9 +62,24 @@ def update_data(year: int) -> str:
indent=4, indent=4,
ensure_ascii=False, ensure_ascii=False,
cls=CustomJSONEncoder) cls=CustomJSONEncoder)
conv_json_to_ics(data, filename=f'{year}')
return filename return filename
def update_holiday_ics(fr_year, to_year):
big_days = []
for year in range(fr_year, to_year+1):
filename = _file_path(f'{year}.json')
if not os.path.isfile(filename):
continue
with open(filename, 'r') 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')
def main(): def main():
parser = argparse.ArgumentParser() parser = argparse.ArgumentParser()
parser.add_argument('--all', action='store_true', parser.add_argument('--all', action='store_true',
@ -84,7 +100,7 @@ def main():
print('') print('')
subprocess.run(['hub', 'add', *filenames], check=True) subprocess.run(['hub', 'add', *filenames], check=True)
diff = subprocess.run(['hub', 'diff', '--stat', '--cached', '*.json'], diff = subprocess.run(['hub', 'diff', '--stat', '--cached', '*.json', '*.ics'],
check=True, check=True,
stdout=subprocess.PIPE, stdout=subprocess.PIPE,
encoding='utf-8').stdout encoding='utf-8').stdout
@ -92,6 +108,8 @@ def main():
print('Already up to date.') print('Already up to date.')
return return
update_holiday_ics(now.year-4, now.year+1)
if not is_release: if not is_release:
print('Updated repository data, skip release since not specified `--release`') print('Updated repository data, skip release since not specified `--release`')
return return