From 5c3ac9ef4451810801adee0c3ef19d4272a81b99 Mon Sep 17 00:00:00 2001 From: PPsyrius <19505219+PPsyrius@users.noreply.github.com> Date: Tue, 10 Oct 2023 02:02:41 +0700 Subject: [PATCH] Update China holidays add non-statutory holidays support, l10n, optional half-day holidays (#1491) Co-authored-by: Arkadii Yakovets <2201626+arkid15r@users.noreply.github.com> Co-authored-by: Arkadii Yakovets --- README.rst | 2 +- holidays/countries/china.py | 370 +++++- holidays/groups/chinese.py | 20 + holidays/locale/en_US/LC_MESSAGES/CN.po | 61 + holidays/locale/th/LC_MESSAGES/CN.po | 61 + holidays/locale/zh_CN/LC_MESSAGES/CN.po | 61 + holidays/locale/zh_TW/LC_MESSAGES/CN.po | 61 + snapshots/countries/CN.json | 1468 +++++++++++++++++++++-- tests/countries/test_china.py | 1057 ++++++++++++++-- 9 files changed, 2915 insertions(+), 246 deletions(-) create mode 100644 holidays/locale/en_US/LC_MESSAGES/CN.po create mode 100644 holidays/locale/th/LC_MESSAGES/CN.po create mode 100644 holidays/locale/zh_CN/LC_MESSAGES/CN.po create mode 100644 holidays/locale/zh_TW/LC_MESSAGES/CN.po diff --git a/README.rst b/README.rst index 4a39ed9f8..0f018f0aa 100644 --- a/README.rst +++ b/README.rst @@ -256,7 +256,7 @@ The list of supported countries, their subdivisions and supported languages * - China - CN - - - + - en_US, th, **zh_CN**, zh_TW * - Colombia - CO - diff --git a/holidays/countries/china.py b/holidays/countries/china.py index 16d3426b5..fe0a6415f 100644 --- a/holidays/countries/china.py +++ b/holidays/countries/china.py @@ -9,53 +9,361 @@ # Website: https://github.com/dr-prodigy/python-holidays # License: MIT (see LICENSE file) +from datetime import date +from datetime import timedelta as td +from gettext import gettext as tr + +from holidays.calendars.gregorian import JAN, MAY, SEP, OCT, DEC +from holidays.constants import HALF_DAY, PUBLIC from holidays.groups import ChineseCalendarHolidays, InternationalHolidays from holidays.holiday_base import HolidayBase class China(HolidayBase, ChineseCalendarHolidays, InternationalHolidays): """ - https://en.wikipedia.org/wiki/Public_holidays_in_China + References: + - https://en.wikipedia.org/wiki/Public_holidays_in_China + - https://zh.wikipedia.org/wiki/中华人民共和国节日与公众假期 + - https://www.gov.cn/gongbao/content/2023/content_5736714.htm # 2023 + - https://www.gov.cn/gongbao/content/2021/content_5651728.htm # 2022 + - https://www.gov.cn/gongbao/content/2020/content_5567750.htm # 2021 + - https://www.gov.cn/gongbao/content/2019/content_5459138.htm # 2020 + - https://www.gov.cn/gongbao/content/2018/content_5350046.htm # 2019 + - https://www.gov.cn/gongbao/content/2017/content_5248221.htm # 2018 + - https://www.gov.cn/gongbao/content/2016/content_5148793.htm # 2017 + - https://www.gov.cn/gongbao/content/2016/content_2979719.htm # 2016 + - https://www.gov.cn/gongbao/content/2015/content_2799019.htm # 2015 + - https://www.gov.cn/gongbao/content/2014/content_2561299.htm # 2014 + - https://www.gov.cn/gongbao/content/2012/content_2292057.htm # 2013 + - https://www.gov.cn/gongbao/content/2011/content_2020918.htm # 2012 + - https://www.gov.cn/gongbao/content/2010/content_1765282.htm # 2011 + - https://www.gov.cn/gongbao/content/2009/content_1487011.htm # 2010 + - https://www.gov.cn/gongbao/content/2008/content_1175823.htm # 2009 + - https://www.gov.cn/gongbao/content/2008/content_859870.htm # 2008 + - https://www.gov.cn/gongbao/content/2007/content_503397.htm # 2007 + - https://zh.wikisource.org/wiki/国务院办公厅关于2006年部分节假日安排的通知 # 2006 + - https://zh.wikisource.org/wiki/国务院办公厅关于2005年部分节假日安排的通知 # 2005 + - https://zh.wikisource.org/wiki/国务院办公厅关于2004年部分节假日安排的通知 # 2004 + - https://zh.wikisource.org/wiki/国务院办公厅关于2003年部分节假日休息安排的通知 # 2003 + - https://zh.wikisource.org/wiki/国务院办公厅关于2002年部分节假日休息安排的通知 # 2002 + - https://zh.wikisource.org/wiki/国务院办公厅关于2001年春节、“五一”、“十一”放假安排的通知 # 2001 + + Checked With: + - https://www.officeholidays.com/countries/china/2023 + - https://www.china-briefing.com/news/china-public-holiday-2023-schedule/ + - https://www.timeanddate.com/calendar/?year=2023&country=41 + - https://m.wannianli.tianqi.com/fangjiaanpai/2001.html # 2001-2010 + + Limitations: + + - Only checked with the official General Office of the State Council Notice from 2001 onwards. + + - Due to its complexity, need yearly checks 3-weeks before year's end each year. """ country = "CN" + supported_categories = {PUBLIC, HALF_DAY} + default_language = "zh_CN" + supported_languages = ("en_US", "th", "zh_CN", "zh_TW") + + # Special Cases. + + # New Year's Day. + new_years_day_overflow = tr("元旦") + + # National Day. + national_day_2008_golden_week = tr("国庆节") + + # Mid-Autumn Festival. + mid_autumn_festival_2010_special = tr("中秋节") + + special_public_holidays = { + 2007: ( + # 2007: Overflow from 2008 Notice. + (DEC, 30, new_years_day_overflow), + (DEC, 31, new_years_day_overflow), + ), + 2008: ( + # 2008: weird National Day Golden Week pattern. + (SEP, 29, national_day_2008_golden_week), + (SEP, 30, national_day_2008_golden_week), + (OCT, 4, national_day_2008_golden_week), + (OCT, 5, national_day_2008_golden_week), + ), + 2010: ( + # 2010: doesn't fit with existing observed pattern. + (SEP, 23, mid_autumn_festival_2010_special), + (SEP, 24, mid_autumn_festival_2010_special), + ), + 2013: ( + # 2013: doesn't fit with existing observed pattern. + (JAN, 2, new_years_day_overflow), + (JAN, 3, new_years_day_overflow), + ), + 2018: ( + # 2018: Overflow from 2019 Notice. + (DEC, 30, new_years_day_overflow), + (DEC, 31, new_years_day_overflow), + ), + 2022: ( + # 2022: Overflow from 2023 Notice. + (DEC, 31, new_years_day_overflow), + ), + 2023: ( + # 2023: Overflow from 2023 Notice. + (JAN, 2, new_years_day_overflow), + ), + } def __init__(self, *args, **kwargs): ChineseCalendarHolidays.__init__(self) InternationalHolidays.__init__(self) super().__init__(*args, **kwargs) - def _populate(self, year): - if year <= 1949: + def _add_observed_one_off_holidays(self, dt: date): + """ + Based on 2002-2023 data, adds observance for one-off + holidays (New Year's Day, Tomb-Sweeping Day, ..., etc.) + - Monday -> TUE-WED (????-2007), [SAT]-[SUN] (2008-???) + - Tuesday -> WED-THU (????-2007), [SUN]-[MON] (2008-????) + - Wednesday -> None (????-2007), [MON]-[TUE] (2008-????) + - Thursday -> None (????-2007), FRI-SAT (2008-????) + - Friday -> SAT-SUN (????-????) + - Saturday -> [FRI]-SUN (2012-2019), SUN-MON (????-2011, 2020-????) + - Sunday -> MON-TUE (????-2007, 2012-2019), [SAT]-MON (2008-2011, 2020-????) + + '[DAY]' denotes that this applies prior to the input date, with 'DAY' as after. + """ + + if self._is_monday(dt): + if self._year <= 2007: + # TUE-WED + self._add_holiday(self[dt], dt + td(days=+1)) + self._add_holiday(self[dt], dt + td(days=+2)) + else: + # [SAT]-[SUN] + self._add_holiday(self[dt], dt + td(days=-2)) + self._add_holiday(self[dt], dt + td(days=-1)) + if self._year >= 2020 and dt == date(self._year, MAY, 1): + # 2 Extra Days for May Day >= 2020: + self._add_holiday(self[dt], dt + td(days=+1)) + self._add_holiday(self[dt], dt + td(days=+2)) + elif self._is_tuesday(dt): + if self._year <= 2007: + # WED-THU + self._add_holiday(self[dt], dt + td(days=+1)) + self._add_holiday(self[dt], dt + td(days=+2)) + else: + # [SUN]-[MON] + self._add_holiday(self[dt], dt + td(days=-2)) + self._add_holiday(self[dt], dt + td(days=-1)) + if self._year >= 2020 and dt == date(self._year, MAY, 1): + # 2 Extra Days for May Day >= 2020: + self._add_holiday(self[dt], dt + td(days=+1)) + self._add_holiday(self[dt], dt + td(days=+2)) + elif self._is_wednesday(dt) and self._year >= 2008: + # [MON]-[TUE] + self._add_holiday(self[dt], dt + td(days=-2)) + self._add_holiday(self[dt], dt + td(days=-1)) + if self._year >= 2020 and dt == date(self._year, MAY, 1): + # 2 Extra Days for May Day >= 2020: + self._add_holiday(self[dt], dt + td(days=+1)) + self._add_holiday(self[dt], dt + td(days=+2)) + elif self._is_thursday(dt) and self._year >= 2008: + # FRI-SAT + self._add_holiday(self[dt], dt + td(days=+1)) + self._add_holiday(self[dt], dt + td(days=+2)) + if self._year >= 2020 and dt == date(self._year, MAY, 1): + # 2 Extra Days for May Day >= 2020: + self._add_holiday(self[dt], dt + td(days=+3)) + self._add_holiday(self[dt], dt + td(days=+4)) + elif self._is_friday(dt): + # SAT-SUN + self._add_holiday(self[dt], dt + td(days=+1)) + self._add_holiday(self[dt], dt + td(days=+2)) + if self._year >= 2020 and dt == date(self._year, MAY, 1): + # 2 Extra Days for May Day >= 2020: + self._add_holiday(self[dt], dt + td(days=+3)) + self._add_holiday(self[dt], dt + td(days=+4)) + elif self._is_saturday(dt): + if self._year <= 2011 or self._year >= 2020: + # SUN-MON + self._add_holiday(self[dt], dt + td(days=+1)) + self._add_holiday(self[dt], dt + td(days=+2)) + if self._year >= 2020 and dt == date(self._year, MAY, 1): + # 2 Extra Days for May Day >= 2020: + self._add_holiday(self[dt], dt + td(days=+3)) + self._add_holiday(self[dt], dt + td(days=+4)) + elif 2012 <= self._year <= 2019: + # [FRI]-SUN + self._add_holiday(self[dt], dt + td(days=-1)) + self._add_holiday(self[dt], dt + td(days=+1)) + elif self._is_sunday(dt): + if self._year <= 2007 or 2012 <= self._year <= 2019: + # MON-TUE + self._add_holiday(self[dt], dt + td(days=+1)) + self._add_holiday(self[dt], dt + td(days=+2)) + elif 2008 <= self._year <= 2011 or self._year >= 2020: + # [SAT]-MON + self._add_holiday(self[dt], dt + td(days=-1)) + self._add_holiday(self[dt], dt + td(days=+1)) + if self._year >= 2020 and dt == date(self._year, MAY, 1): + # 2 Extra Days for May Day >= 2020: + self._add_holiday(self[dt], dt + td(days=+2)) + self._add_holiday(self[dt], dt + td(days=+3)) + + def _populate_public_holidays(self): + # Proclamation of the People's Republic of China on Oct 1, 1949. + if self._year <= 1949: + return None + + # 元旦 (simp.) / 新年 (trad.) + # Status: In-Use (Statutory). + # Jan 1 in 1949, 1999, 2007, and 2013 revision. + # Consecutive Holidays are available from 2002, except in 2014/2016/2017/2018. + + # New Year's Day. + jan_1 = self._add_new_years_day(tr("元旦")) + + if ( + self.observed + and (2002 <= self._year <= 2015 or self._year >= 2020) + and self._year not in {2008, 2013, 2014, 2023} + ): + self._add_observed_one_off_holidays(jan_1) + + # 春节 + # Status: In-Use (Statutory). + # Day 1-3 of Chinese New Year in 1949, 1999, 2007, and 2013 revision. + + # Spring Festival Golden Weekend + # Checked with Official Notice from 2001-2023. + # Consecutive Holidays are available from 2000 (1999 rev.). + + # Chinese New Year (Spring Festival). + chinese_new_year = tr("春节") + self._add_chinese_new_years_day(chinese_new_year) + self._add_chinese_new_years_day_two(chinese_new_year) + self._add_chinese_new_years_day_three(chinese_new_year) + if self.observed and self._year >= 2000: + # Non-Statutory. + self._add_chinese_new_years_day_four(chinese_new_year) + self._add_chinese_new_years_day_five(chinese_new_year) + self._add_chinese_new_years_day_six(chinese_new_year) + if 2008 <= self._year <= 2013 or self._year >= 2015: + self._add_chinese_new_years_eve(chinese_new_year) + else: + self._add_chinese_new_years_day_seven(chinese_new_year) + + # 劳动节 + # Status: In-Use (Statutory). + # May 1 in 1949, 1999, 2007, and 2013 revision. + # Additional Holidays (May 2-3) are available from 2000 (1999 rev.) - 2007 (2007 rev.). + + # Labor Day Golden Weekend + # Checked with Official Notice from 2001-2023. + # Consecutive Holidays are available from 2002, with exception of ????-????. + + # Labor Day. + labor_day = tr("劳动节") + may_1 = self._add_labor_day(labor_day) + if 2000 <= self._year <= 2007: + self._add_labor_day_two(labor_day) + self._add_labor_day_three(labor_day) + if self.observed: + # Non-Statutory. + self._add_holiday_may_4(labor_day) + self._add_holiday_may_5(labor_day) + self._add_holiday_may_6(labor_day) + self._add_holiday_may_7(labor_day) + elif self.observed and ( + 2008 <= self._year <= 2014 or self._year == 2018 or self._year >= 2020 + ): + self._add_observed_one_off_holidays(may_1) + + # 国庆节 + # Status: In-Use (Statutory). + # Oct 1-2 in 1949, 1999, 2007, and 2013 revision + # Additional Holiday (Oct 3) is available from Sep 1999 (1999 rev.). + + # National Day Golden Weekend + # Checked with Official Notice from 2001-2023. + + # National Day. + national_day = tr("国庆节") + self._add_holiday_oct_1(national_day) + self._add_holiday_oct_2(national_day) + if self._year >= 1999: + self._add_holiday_oct_3(national_day) + if self.observed and 2000 <= self._year != 2008: + # Non-Statutory. + self._add_holiday_oct_4(national_day) + self._add_holiday_oct_5(national_day) + self._add_holiday_oct_6(national_day) + if self._year != 2023: + self._add_holiday_oct_7(national_day) + + if self._year >= 2008: + # 清明节 + # Status: In-Use (Statutory). + # Tomb-Sweeping Day in 2007, and 2013 revision. + # Consecutive Holidays are available from 2008, except in 2014/2015/2016/2019. + + # Tomb-Sweeping Day. + qingming_festival = self._add_qingming_festival(tr("清明节")) + + if self.observed and self._year not in {2014, 2015, 2016, 2019, 2023}: + # Non-Statutory. + self._add_observed_one_off_holidays(qingming_festival) + + # 端午节 + # Status: In-Use (Statutory). + # Dragon Boat Festival in 2007, and 2013 revision. + # Consecutive Holidays are available from 2008, except in 2014/2015/2018/2019/2023. + + # Dragon Boat Festival. + dragon_boat_festival = self._add_dragon_boat_festival(tr("端午节")) + + if self.observed and self._year not in {2014, 2015, 2018, 2019}: + # Non-Statutory. + self._add_observed_one_off_holidays(dragon_boat_festival) + + # 中秋节 + # Status: In-Use (Statutory). + # Mid-Autumn Festival in 2007, and 2013 revision. + # Consecutive Holidays are available from 2008, except in 2010/2014/2015/2018/2019. + # Extra Day (Oct 8) is instead aded to the National Day Week if overlaps. + + # Mid-Autumn Festival. + mid_autumn_festival = self._add_mid_autumn_festival(tr("中秋节")) + + if self.observed: + # Non-Statutory. + if mid_autumn_festival.month == OCT and 1 <= mid_autumn_festival.day <= 7: + self._add_holiday_oct_8(national_day) + elif mid_autumn_festival == date(self._year, SEP, 29): + self._add_holiday_sep_30(self[mid_autumn_festival]) + elif self._year not in {2010, 2012, 2014, 2015, 2018, 2019, 2030, 2050, 2096}: + # SEP 30's "no observance added" rule for 2012/2030/2050/2096 included. + self._add_observed_one_off_holidays(mid_autumn_festival) + + def _populate_half_day_holidays(self): + # No in lieus are given for this category. + # Proclamation of the People's Republic of China on Oct 1, 1949. + if self._year <= 1949: return None - super()._populate(year) - - self._add_new_years_day("New Year's Day") - - name = "Labour Day" - self._add_labor_day(name) - if 2000 <= year <= 2007: - self._add_labor_day_two(name) - self._add_labor_day_three(name) - - name = "Chinese New Year (Spring Festival)" - self._add_chinese_new_years_day(name) - self._add_chinese_new_years_day_two(name) - if 2008 <= year <= 2013: - self._add_chinese_new_years_eve(name) - else: - self._add_chinese_new_years_day_three(name) - - name = "National Day" - self._add_holiday_oct_1(name) - self._add_holiday_oct_2(name) - if year >= 2000: - self._add_holiday_oct_3(name) - - if year >= 2008: - self._add_qingming_festival("Tomb-Sweeping Day") - self._add_dragon_boat_festival("Dragon Boat Festival") - self._add_mid_autumn_festival("Mid-Autumn Festival") + + # International Women's Day. + self._add_womens_day(tr("国际妇女节")) + + # Youth Day. + self._add_holiday_may_4(tr("五四青年节")) + + # Children's Day. + self._add_childrens_day(tr("六一儿童节")) + + # Army Day. + self._add_holiday_aug_1(tr("建军节")) class CN(China): diff --git a/holidays/groups/chinese.py b/holidays/groups/chinese.py index cd512d7c9..355e759ff 100644 --- a/holidays/groups/chinese.py +++ b/holidays/groups/chinese.py @@ -146,6 +146,26 @@ def _add_chinese_new_years_day_five(self, name) -> Optional[date]: name, self._chinese_calendar.lunar_new_year_date(self._year), days_delta=+4 ) + def _add_chinese_new_years_day_six(self, name) -> Optional[date]: + """ + Add Chinese New Year's Day Six. + + https://en.wikipedia.org/wiki/Chinese_New_Year + """ + return self._add_chinese_calendar_holiday( + name, self._chinese_calendar.lunar_new_year_date(self._year), days_delta=+5 + ) + + def _add_chinese_new_years_day_seven(self, name) -> Optional[date]: + """ + Add Chinese New Year's Day Seven. + + https://en.wikipedia.org/wiki/Chinese_New_Year + """ + return self._add_chinese_calendar_holiday( + name, self._chinese_calendar.lunar_new_year_date(self._year), days_delta=+6 + ) + def _add_qingming_festival(self, name) -> date: """ Add Qingming Festival (15th day after the Spring Equinox). diff --git a/holidays/locale/en_US/LC_MESSAGES/CN.po b/holidays/locale/en_US/LC_MESSAGES/CN.po new file mode 100644 index 000000000..35a15e80c --- /dev/null +++ b/holidays/locale/en_US/LC_MESSAGES/CN.po @@ -0,0 +1,61 @@ +# Chinese holidays en_US localization. +# Authors: PPsyrius , (c) 2023. +# +msgid "" +msgstr "" +"Project-Id-Version: Python Holidays 0.35\n" +"POT-Creation-Date: 2023-09-28 19:23+0700\n" +"PO-Revision-Date: 2023-09-28 19:49+0700\n" +"Last-Translator: PPsyrius \n" +"Language-Team: Python Holidays Translation Team\n" +"Language: en_US\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Generated-By: Lingua 4.15.0\n" +"X-Generator: Poedit 3.3.2\n" + +#. New Year's Day. +msgid "元旦" +msgstr "New Year's Day" + +#. National Day. +msgid "国庆节" +msgstr "National Day" + +#. Mid-Autumn Festival. +msgid "中秋节" +msgstr "Mid-Autumn Festival" + +#. Chinese New Year (Spring Festival). +msgid "春节" +msgstr "Chinese New Year (Spring Festival)" + +#. Labor Day. +msgid "劳动节" +msgstr "Labor Day" + +#. Tomb-Sweeping Day. +msgid "清明节" +msgstr "Tomb-Sweeping Day" + +#. Dragon Boat Festival. +msgid "端午节" +msgstr "Dragon Boat Festival" + +#. International Women's Day. +msgid "国际妇女节" +msgstr "International Women's Day" + +#. Youth Day. +msgid "五四青年节" +msgstr "Youth Day" + +#. Children's Day. +msgid "六一儿童节" +msgstr "Children's Day" + +#. Army Day. +msgid "建军节" +msgstr "Army Day" diff --git a/holidays/locale/th/LC_MESSAGES/CN.po b/holidays/locale/th/LC_MESSAGES/CN.po new file mode 100644 index 000000000..b242d74e2 --- /dev/null +++ b/holidays/locale/th/LC_MESSAGES/CN.po @@ -0,0 +1,61 @@ +# Chinese holidays th localization. +# Authors: PPsyrius , (c) 2023. +# +msgid "" +msgstr "" +"Project-Id-Version: Python Holidays 0.35\n" +"POT-Creation-Date: 2023-09-28 19:23+0700\n" +"PO-Revision-Date: 2023-09-28 19:57+0700\n" +"Last-Translator: PPsyrius \n" +"Language-Team: Python Holidays Translation Team\n" +"Language: th\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"Generated-By: Lingua 4.15.0\n" +"X-Generator: Poedit 3.3.2\n" + +#. New Year's Day. +msgid "元旦" +msgstr "วันปีใหม่สากล" + +#. National Day. +msgid "国庆节" +msgstr "วันชาติจีน" + +#. Mid-Autumn Festival. +msgid "中秋节" +msgstr "วันไหว้พระจันทร์" + +#. Chinese New Year (Spring Festival). +msgid "春节" +msgstr "วันตรุษจีน" + +#. Labor Day. +msgid "劳动节" +msgstr "วันแรงงาน" + +#. Tomb-Sweeping Day. +msgid "清明节" +msgstr "วันเช็งเม้ง" + +#. Dragon Boat Festival. +msgid "端午节" +msgstr "วันไหว้บ๊ะจ่าง" + +#. International Women's Day. +msgid "国际妇女节" +msgstr "วันสตรีสากล" + +#. Youth Day. +msgid "五四青年节" +msgstr "วันเยาวชนห่งชาติจีน" + +#. Children's Day. +msgid "六一儿童节" +msgstr "วันเด็กสากล" + +#. Army Day. +msgid "建军节" +msgstr "วันสถาปนากองทัพปลดปล่อยประชาชนจีน" diff --git a/holidays/locale/zh_CN/LC_MESSAGES/CN.po b/holidays/locale/zh_CN/LC_MESSAGES/CN.po new file mode 100644 index 000000000..73f5f37f9 --- /dev/null +++ b/holidays/locale/zh_CN/LC_MESSAGES/CN.po @@ -0,0 +1,61 @@ +# Chinese holidays. +# Authors: PPsyrius , (c) 2023. +# +msgid "" +msgstr "" +"Project-Id-Version: Python Holidays 0.35\n" +"POT-Creation-Date: 2023-09-28 19:23+0700\n" +"PO-Revision-Date: 2023-09-28 19:42+0700\n" +"Last-Translator: PPsyrius \n" +"Language-Team: Python Holidays Translation Team\n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"Generated-By: Lingua 4.15.0\n" +"X-Generator: Poedit 3.3.2\n" + +#. New Year's Day. +msgid "元旦" +msgstr "" + +#. National Day. +msgid "国庆节" +msgstr "" + +#. Mid-Autumn Festival. +msgid "中秋节" +msgstr "" + +#. Chinese New Year (Spring Festival). +msgid "春节" +msgstr "" + +#. Labor Day. +msgid "劳动节" +msgstr "" + +#. Tomb-Sweeping Day. +msgid "清明节" +msgstr "" + +#. Dragon Boat Festival. +msgid "端午节" +msgstr "" + +#. International Women's Day. +msgid "国际妇女节" +msgstr "" + +#. Youth Day. +msgid "五四青年节" +msgstr "" + +#. Children's Day. +msgid "六一儿童节" +msgstr "" + +#. Army Day. +msgid "建军节" +msgstr "" diff --git a/holidays/locale/zh_TW/LC_MESSAGES/CN.po b/holidays/locale/zh_TW/LC_MESSAGES/CN.po new file mode 100644 index 000000000..0d96e5e14 --- /dev/null +++ b/holidays/locale/zh_TW/LC_MESSAGES/CN.po @@ -0,0 +1,61 @@ +# Chinese holidays zh_TW localization. +# Authors: PPsyrius , (c) 2023. +# +msgid "" +msgstr "" +"Project-Id-Version: Python Holidays 0.35\n" +"POT-Creation-Date: 2023-09-28 19:23+0700\n" +"PO-Revision-Date: 2023-09-28 19:43+0700\n" +"Last-Translator: PPsyrius \n" +"Language-Team: Python Holidays Translation Team\n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"Generated-By: Lingua 4.15.0\n" +"X-Generator: Poedit 3.3.2\n" + +#. New Year's Day. +msgid "元旦" +msgstr "元旦" + +#. National Day. +msgid "国庆节" +msgstr "國慶日" + +#. Mid-Autumn Festival. +msgid "中秋节" +msgstr "中秋節" + +#. Chinese New Year (Spring Festival). +msgid "春节" +msgstr "春節" + +#. Labor Day. +msgid "劳动节" +msgstr "勞動節" + +#. Tomb-Sweeping Day. +msgid "清明节" +msgstr "清明節" + +#. Dragon Boat Festival. +msgid "端午节" +msgstr "端午節" + +#. International Women's Day. +msgid "国际妇女节" +msgstr "國際婦女節" + +#. Youth Day. +msgid "五四青年节" +msgstr "五四青年節" + +#. Children's Day. +msgid "六一儿童节" +msgstr "六一兒童節" + +#. Army Day. +msgid "建军节" +msgstr "建軍節" diff --git a/snapshots/countries/CN.json b/snapshots/countries/CN.json index 41f942bbb..71cf0ed06 100644 --- a/snapshots/countries/CN.json +++ b/snapshots/countries/CN.json @@ -3,898 +3,2118 @@ "1950-02-17": "Chinese New Year (Spring Festival)", "1950-02-18": "Chinese New Year (Spring Festival)", "1950-02-19": "Chinese New Year (Spring Festival)", - "1950-05-01": "Labour Day", + "1950-03-08": "International Women's Day", + "1950-05-01": "Labor Day", + "1950-05-04": "Youth Day", + "1950-06-01": "Children's Day", + "1950-08-01": "Army Day", "1950-10-01": "National Day", "1950-10-02": "National Day", "1951-01-01": "New Year's Day", "1951-02-06": "Chinese New Year (Spring Festival)", "1951-02-07": "Chinese New Year (Spring Festival)", "1951-02-08": "Chinese New Year (Spring Festival)", - "1951-05-01": "Labour Day", + "1951-03-08": "International Women's Day", + "1951-05-01": "Labor Day", + "1951-05-04": "Youth Day", + "1951-06-01": "Children's Day", + "1951-08-01": "Army Day", "1951-10-01": "National Day", "1951-10-02": "National Day", "1952-01-01": "New Year's Day", "1952-01-27": "Chinese New Year (Spring Festival)", "1952-01-28": "Chinese New Year (Spring Festival)", "1952-01-29": "Chinese New Year (Spring Festival)", - "1952-05-01": "Labour Day", + "1952-03-08": "International Women's Day", + "1952-05-01": "Labor Day", + "1952-05-04": "Youth Day", + "1952-06-01": "Children's Day", + "1952-08-01": "Army Day", "1952-10-01": "National Day", "1952-10-02": "National Day", "1953-01-01": "New Year's Day", "1953-02-14": "Chinese New Year (Spring Festival)", "1953-02-15": "Chinese New Year (Spring Festival)", "1953-02-16": "Chinese New Year (Spring Festival)", - "1953-05-01": "Labour Day", + "1953-03-08": "International Women's Day", + "1953-05-01": "Labor Day", + "1953-05-04": "Youth Day", + "1953-06-01": "Children's Day", + "1953-08-01": "Army Day", "1953-10-01": "National Day", "1953-10-02": "National Day", "1954-01-01": "New Year's Day", "1954-02-03": "Chinese New Year (Spring Festival)", "1954-02-04": "Chinese New Year (Spring Festival)", "1954-02-05": "Chinese New Year (Spring Festival)", - "1954-05-01": "Labour Day", + "1954-03-08": "International Women's Day", + "1954-05-01": "Labor Day", + "1954-05-04": "Youth Day", + "1954-06-01": "Children's Day", + "1954-08-01": "Army Day", "1954-10-01": "National Day", "1954-10-02": "National Day", "1955-01-01": "New Year's Day", "1955-01-24": "Chinese New Year (Spring Festival)", "1955-01-25": "Chinese New Year (Spring Festival)", "1955-01-26": "Chinese New Year (Spring Festival)", - "1955-05-01": "Labour Day", + "1955-03-08": "International Women's Day", + "1955-05-01": "Labor Day", + "1955-05-04": "Youth Day", + "1955-06-01": "Children's Day", + "1955-08-01": "Army Day", "1955-10-01": "National Day", "1955-10-02": "National Day", "1956-01-01": "New Year's Day", "1956-02-12": "Chinese New Year (Spring Festival)", "1956-02-13": "Chinese New Year (Spring Festival)", "1956-02-14": "Chinese New Year (Spring Festival)", - "1956-05-01": "Labour Day", + "1956-03-08": "International Women's Day", + "1956-05-01": "Labor Day", + "1956-05-04": "Youth Day", + "1956-06-01": "Children's Day", + "1956-08-01": "Army Day", "1956-10-01": "National Day", "1956-10-02": "National Day", "1957-01-01": "New Year's Day", "1957-01-31": "Chinese New Year (Spring Festival)", "1957-02-01": "Chinese New Year (Spring Festival)", "1957-02-02": "Chinese New Year (Spring Festival)", - "1957-05-01": "Labour Day", + "1957-03-08": "International Women's Day", + "1957-05-01": "Labor Day", + "1957-05-04": "Youth Day", + "1957-06-01": "Children's Day", + "1957-08-01": "Army Day", "1957-10-01": "National Day", "1957-10-02": "National Day", "1958-01-01": "New Year's Day", "1958-02-18": "Chinese New Year (Spring Festival)", "1958-02-19": "Chinese New Year (Spring Festival)", "1958-02-20": "Chinese New Year (Spring Festival)", - "1958-05-01": "Labour Day", + "1958-03-08": "International Women's Day", + "1958-05-01": "Labor Day", + "1958-05-04": "Youth Day", + "1958-06-01": "Children's Day", + "1958-08-01": "Army Day", "1958-10-01": "National Day", "1958-10-02": "National Day", "1959-01-01": "New Year's Day", "1959-02-08": "Chinese New Year (Spring Festival)", "1959-02-09": "Chinese New Year (Spring Festival)", "1959-02-10": "Chinese New Year (Spring Festival)", - "1959-05-01": "Labour Day", + "1959-03-08": "International Women's Day", + "1959-05-01": "Labor Day", + "1959-05-04": "Youth Day", + "1959-06-01": "Children's Day", + "1959-08-01": "Army Day", "1959-10-01": "National Day", "1959-10-02": "National Day", "1960-01-01": "New Year's Day", "1960-01-28": "Chinese New Year (Spring Festival)", "1960-01-29": "Chinese New Year (Spring Festival)", "1960-01-30": "Chinese New Year (Spring Festival)", - "1960-05-01": "Labour Day", + "1960-03-08": "International Women's Day", + "1960-05-01": "Labor Day", + "1960-05-04": "Youth Day", + "1960-06-01": "Children's Day", + "1960-08-01": "Army Day", "1960-10-01": "National Day", "1960-10-02": "National Day", "1961-01-01": "New Year's Day", "1961-02-15": "Chinese New Year (Spring Festival)", "1961-02-16": "Chinese New Year (Spring Festival)", "1961-02-17": "Chinese New Year (Spring Festival)", - "1961-05-01": "Labour Day", + "1961-03-08": "International Women's Day", + "1961-05-01": "Labor Day", + "1961-05-04": "Youth Day", + "1961-06-01": "Children's Day", + "1961-08-01": "Army Day", "1961-10-01": "National Day", "1961-10-02": "National Day", "1962-01-01": "New Year's Day", "1962-02-05": "Chinese New Year (Spring Festival)", "1962-02-06": "Chinese New Year (Spring Festival)", "1962-02-07": "Chinese New Year (Spring Festival)", - "1962-05-01": "Labour Day", + "1962-03-08": "International Women's Day", + "1962-05-01": "Labor Day", + "1962-05-04": "Youth Day", + "1962-06-01": "Children's Day", + "1962-08-01": "Army Day", "1962-10-01": "National Day", "1962-10-02": "National Day", "1963-01-01": "New Year's Day", "1963-01-25": "Chinese New Year (Spring Festival)", "1963-01-26": "Chinese New Year (Spring Festival)", "1963-01-27": "Chinese New Year (Spring Festival)", - "1963-05-01": "Labour Day", + "1963-03-08": "International Women's Day", + "1963-05-01": "Labor Day", + "1963-05-04": "Youth Day", + "1963-06-01": "Children's Day", + "1963-08-01": "Army Day", "1963-10-01": "National Day", "1963-10-02": "National Day", "1964-01-01": "New Year's Day", "1964-02-13": "Chinese New Year (Spring Festival)", "1964-02-14": "Chinese New Year (Spring Festival)", "1964-02-15": "Chinese New Year (Spring Festival)", - "1964-05-01": "Labour Day", + "1964-03-08": "International Women's Day", + "1964-05-01": "Labor Day", + "1964-05-04": "Youth Day", + "1964-06-01": "Children's Day", + "1964-08-01": "Army Day", "1964-10-01": "National Day", "1964-10-02": "National Day", "1965-01-01": "New Year's Day", "1965-02-02": "Chinese New Year (Spring Festival)", "1965-02-03": "Chinese New Year (Spring Festival)", "1965-02-04": "Chinese New Year (Spring Festival)", - "1965-05-01": "Labour Day", + "1965-03-08": "International Women's Day", + "1965-05-01": "Labor Day", + "1965-05-04": "Youth Day", + "1965-06-01": "Children's Day", + "1965-08-01": "Army Day", "1965-10-01": "National Day", "1965-10-02": "National Day", "1966-01-01": "New Year's Day", "1966-01-21": "Chinese New Year (Spring Festival)", "1966-01-22": "Chinese New Year (Spring Festival)", "1966-01-23": "Chinese New Year (Spring Festival)", - "1966-05-01": "Labour Day", + "1966-03-08": "International Women's Day", + "1966-05-01": "Labor Day", + "1966-05-04": "Youth Day", + "1966-06-01": "Children's Day", + "1966-08-01": "Army Day", "1966-10-01": "National Day", "1966-10-02": "National Day", "1967-01-01": "New Year's Day", "1967-02-09": "Chinese New Year (Spring Festival)", "1967-02-10": "Chinese New Year (Spring Festival)", "1967-02-11": "Chinese New Year (Spring Festival)", - "1967-05-01": "Labour Day", + "1967-03-08": "International Women's Day", + "1967-05-01": "Labor Day", + "1967-05-04": "Youth Day", + "1967-06-01": "Children's Day", + "1967-08-01": "Army Day", "1967-10-01": "National Day", "1967-10-02": "National Day", "1968-01-01": "New Year's Day", "1968-01-30": "Chinese New Year (Spring Festival)", "1968-01-31": "Chinese New Year (Spring Festival)", "1968-02-01": "Chinese New Year (Spring Festival)", - "1968-05-01": "Labour Day", + "1968-03-08": "International Women's Day", + "1968-05-01": "Labor Day", + "1968-05-04": "Youth Day", + "1968-06-01": "Children's Day", + "1968-08-01": "Army Day", "1968-10-01": "National Day", "1968-10-02": "National Day", "1969-01-01": "New Year's Day", "1969-02-17": "Chinese New Year (Spring Festival)", "1969-02-18": "Chinese New Year (Spring Festival)", "1969-02-19": "Chinese New Year (Spring Festival)", - "1969-05-01": "Labour Day", + "1969-03-08": "International Women's Day", + "1969-05-01": "Labor Day", + "1969-05-04": "Youth Day", + "1969-06-01": "Children's Day", + "1969-08-01": "Army Day", "1969-10-01": "National Day", "1969-10-02": "National Day", "1970-01-01": "New Year's Day", "1970-02-06": "Chinese New Year (Spring Festival)", "1970-02-07": "Chinese New Year (Spring Festival)", "1970-02-08": "Chinese New Year (Spring Festival)", - "1970-05-01": "Labour Day", + "1970-03-08": "International Women's Day", + "1970-05-01": "Labor Day", + "1970-05-04": "Youth Day", + "1970-06-01": "Children's Day", + "1970-08-01": "Army Day", "1970-10-01": "National Day", "1970-10-02": "National Day", "1971-01-01": "New Year's Day", "1971-01-27": "Chinese New Year (Spring Festival)", "1971-01-28": "Chinese New Year (Spring Festival)", "1971-01-29": "Chinese New Year (Spring Festival)", - "1971-05-01": "Labour Day", + "1971-03-08": "International Women's Day", + "1971-05-01": "Labor Day", + "1971-05-04": "Youth Day", + "1971-06-01": "Children's Day", + "1971-08-01": "Army Day", "1971-10-01": "National Day", "1971-10-02": "National Day", "1972-01-01": "New Year's Day", "1972-02-15": "Chinese New Year (Spring Festival)", "1972-02-16": "Chinese New Year (Spring Festival)", "1972-02-17": "Chinese New Year (Spring Festival)", - "1972-05-01": "Labour Day", + "1972-03-08": "International Women's Day", + "1972-05-01": "Labor Day", + "1972-05-04": "Youth Day", + "1972-06-01": "Children's Day", + "1972-08-01": "Army Day", "1972-10-01": "National Day", "1972-10-02": "National Day", "1973-01-01": "New Year's Day", "1973-02-03": "Chinese New Year (Spring Festival)", "1973-02-04": "Chinese New Year (Spring Festival)", "1973-02-05": "Chinese New Year (Spring Festival)", - "1973-05-01": "Labour Day", + "1973-03-08": "International Women's Day", + "1973-05-01": "Labor Day", + "1973-05-04": "Youth Day", + "1973-06-01": "Children's Day", + "1973-08-01": "Army Day", "1973-10-01": "National Day", "1973-10-02": "National Day", "1974-01-01": "New Year's Day", "1974-01-23": "Chinese New Year (Spring Festival)", "1974-01-24": "Chinese New Year (Spring Festival)", "1974-01-25": "Chinese New Year (Spring Festival)", - "1974-05-01": "Labour Day", + "1974-03-08": "International Women's Day", + "1974-05-01": "Labor Day", + "1974-05-04": "Youth Day", + "1974-06-01": "Children's Day", + "1974-08-01": "Army Day", "1974-10-01": "National Day", "1974-10-02": "National Day", "1975-01-01": "New Year's Day", "1975-02-11": "Chinese New Year (Spring Festival)", "1975-02-12": "Chinese New Year (Spring Festival)", "1975-02-13": "Chinese New Year (Spring Festival)", - "1975-05-01": "Labour Day", + "1975-03-08": "International Women's Day", + "1975-05-01": "Labor Day", + "1975-05-04": "Youth Day", + "1975-06-01": "Children's Day", + "1975-08-01": "Army Day", "1975-10-01": "National Day", "1975-10-02": "National Day", "1976-01-01": "New Year's Day", "1976-01-31": "Chinese New Year (Spring Festival)", "1976-02-01": "Chinese New Year (Spring Festival)", "1976-02-02": "Chinese New Year (Spring Festival)", - "1976-05-01": "Labour Day", + "1976-03-08": "International Women's Day", + "1976-05-01": "Labor Day", + "1976-05-04": "Youth Day", + "1976-06-01": "Children's Day", + "1976-08-01": "Army Day", "1976-10-01": "National Day", "1976-10-02": "National Day", "1977-01-01": "New Year's Day", "1977-02-18": "Chinese New Year (Spring Festival)", "1977-02-19": "Chinese New Year (Spring Festival)", "1977-02-20": "Chinese New Year (Spring Festival)", - "1977-05-01": "Labour Day", + "1977-03-08": "International Women's Day", + "1977-05-01": "Labor Day", + "1977-05-04": "Youth Day", + "1977-06-01": "Children's Day", + "1977-08-01": "Army Day", "1977-10-01": "National Day", "1977-10-02": "National Day", "1978-01-01": "New Year's Day", "1978-02-07": "Chinese New Year (Spring Festival)", "1978-02-08": "Chinese New Year (Spring Festival)", "1978-02-09": "Chinese New Year (Spring Festival)", - "1978-05-01": "Labour Day", + "1978-03-08": "International Women's Day", + "1978-05-01": "Labor Day", + "1978-05-04": "Youth Day", + "1978-06-01": "Children's Day", + "1978-08-01": "Army Day", "1978-10-01": "National Day", "1978-10-02": "National Day", "1979-01-01": "New Year's Day", "1979-01-28": "Chinese New Year (Spring Festival)", "1979-01-29": "Chinese New Year (Spring Festival)", "1979-01-30": "Chinese New Year (Spring Festival)", - "1979-05-01": "Labour Day", + "1979-03-08": "International Women's Day", + "1979-05-01": "Labor Day", + "1979-05-04": "Youth Day", + "1979-06-01": "Children's Day", + "1979-08-01": "Army Day", "1979-10-01": "National Day", "1979-10-02": "National Day", "1980-01-01": "New Year's Day", "1980-02-16": "Chinese New Year (Spring Festival)", "1980-02-17": "Chinese New Year (Spring Festival)", "1980-02-18": "Chinese New Year (Spring Festival)", - "1980-05-01": "Labour Day", + "1980-03-08": "International Women's Day", + "1980-05-01": "Labor Day", + "1980-05-04": "Youth Day", + "1980-06-01": "Children's Day", + "1980-08-01": "Army Day", "1980-10-01": "National Day", "1980-10-02": "National Day", "1981-01-01": "New Year's Day", "1981-02-05": "Chinese New Year (Spring Festival)", "1981-02-06": "Chinese New Year (Spring Festival)", "1981-02-07": "Chinese New Year (Spring Festival)", - "1981-05-01": "Labour Day", + "1981-03-08": "International Women's Day", + "1981-05-01": "Labor Day", + "1981-05-04": "Youth Day", + "1981-06-01": "Children's Day", + "1981-08-01": "Army Day", "1981-10-01": "National Day", "1981-10-02": "National Day", "1982-01-01": "New Year's Day", "1982-01-25": "Chinese New Year (Spring Festival)", "1982-01-26": "Chinese New Year (Spring Festival)", "1982-01-27": "Chinese New Year (Spring Festival)", - "1982-05-01": "Labour Day", + "1982-03-08": "International Women's Day", + "1982-05-01": "Labor Day", + "1982-05-04": "Youth Day", + "1982-06-01": "Children's Day", + "1982-08-01": "Army Day", "1982-10-01": "National Day", "1982-10-02": "National Day", "1983-01-01": "New Year's Day", "1983-02-13": "Chinese New Year (Spring Festival)", "1983-02-14": "Chinese New Year (Spring Festival)", "1983-02-15": "Chinese New Year (Spring Festival)", - "1983-05-01": "Labour Day", + "1983-03-08": "International Women's Day", + "1983-05-01": "Labor Day", + "1983-05-04": "Youth Day", + "1983-06-01": "Children's Day", + "1983-08-01": "Army Day", "1983-10-01": "National Day", "1983-10-02": "National Day", "1984-01-01": "New Year's Day", "1984-02-02": "Chinese New Year (Spring Festival)", "1984-02-03": "Chinese New Year (Spring Festival)", "1984-02-04": "Chinese New Year (Spring Festival)", - "1984-05-01": "Labour Day", + "1984-03-08": "International Women's Day", + "1984-05-01": "Labor Day", + "1984-05-04": "Youth Day", + "1984-06-01": "Children's Day", + "1984-08-01": "Army Day", "1984-10-01": "National Day", "1984-10-02": "National Day", "1985-01-01": "New Year's Day", "1985-02-20": "Chinese New Year (Spring Festival)", "1985-02-21": "Chinese New Year (Spring Festival)", "1985-02-22": "Chinese New Year (Spring Festival)", - "1985-05-01": "Labour Day", + "1985-03-08": "International Women's Day", + "1985-05-01": "Labor Day", + "1985-05-04": "Youth Day", + "1985-06-01": "Children's Day", + "1985-08-01": "Army Day", "1985-10-01": "National Day", "1985-10-02": "National Day", "1986-01-01": "New Year's Day", "1986-02-09": "Chinese New Year (Spring Festival)", "1986-02-10": "Chinese New Year (Spring Festival)", "1986-02-11": "Chinese New Year (Spring Festival)", - "1986-05-01": "Labour Day", + "1986-03-08": "International Women's Day", + "1986-05-01": "Labor Day", + "1986-05-04": "Youth Day", + "1986-06-01": "Children's Day", + "1986-08-01": "Army Day", "1986-10-01": "National Day", "1986-10-02": "National Day", "1987-01-01": "New Year's Day", "1987-01-29": "Chinese New Year (Spring Festival)", "1987-01-30": "Chinese New Year (Spring Festival)", "1987-01-31": "Chinese New Year (Spring Festival)", - "1987-05-01": "Labour Day", + "1987-03-08": "International Women's Day", + "1987-05-01": "Labor Day", + "1987-05-04": "Youth Day", + "1987-06-01": "Children's Day", + "1987-08-01": "Army Day", "1987-10-01": "National Day", "1987-10-02": "National Day", "1988-01-01": "New Year's Day", "1988-02-17": "Chinese New Year (Spring Festival)", "1988-02-18": "Chinese New Year (Spring Festival)", "1988-02-19": "Chinese New Year (Spring Festival)", - "1988-05-01": "Labour Day", + "1988-03-08": "International Women's Day", + "1988-05-01": "Labor Day", + "1988-05-04": "Youth Day", + "1988-06-01": "Children's Day", + "1988-08-01": "Army Day", "1988-10-01": "National Day", "1988-10-02": "National Day", "1989-01-01": "New Year's Day", "1989-02-06": "Chinese New Year (Spring Festival)", "1989-02-07": "Chinese New Year (Spring Festival)", "1989-02-08": "Chinese New Year (Spring Festival)", - "1989-05-01": "Labour Day", + "1989-03-08": "International Women's Day", + "1989-05-01": "Labor Day", + "1989-05-04": "Youth Day", + "1989-06-01": "Children's Day", + "1989-08-01": "Army Day", "1989-10-01": "National Day", "1989-10-02": "National Day", "1990-01-01": "New Year's Day", "1990-01-27": "Chinese New Year (Spring Festival)", "1990-01-28": "Chinese New Year (Spring Festival)", "1990-01-29": "Chinese New Year (Spring Festival)", - "1990-05-01": "Labour Day", + "1990-03-08": "International Women's Day", + "1990-05-01": "Labor Day", + "1990-05-04": "Youth Day", + "1990-06-01": "Children's Day", + "1990-08-01": "Army Day", "1990-10-01": "National Day", "1990-10-02": "National Day", "1991-01-01": "New Year's Day", "1991-02-15": "Chinese New Year (Spring Festival)", "1991-02-16": "Chinese New Year (Spring Festival)", "1991-02-17": "Chinese New Year (Spring Festival)", - "1991-05-01": "Labour Day", + "1991-03-08": "International Women's Day", + "1991-05-01": "Labor Day", + "1991-05-04": "Youth Day", + "1991-06-01": "Children's Day", + "1991-08-01": "Army Day", "1991-10-01": "National Day", "1991-10-02": "National Day", "1992-01-01": "New Year's Day", "1992-02-04": "Chinese New Year (Spring Festival)", "1992-02-05": "Chinese New Year (Spring Festival)", "1992-02-06": "Chinese New Year (Spring Festival)", - "1992-05-01": "Labour Day", + "1992-03-08": "International Women's Day", + "1992-05-01": "Labor Day", + "1992-05-04": "Youth Day", + "1992-06-01": "Children's Day", + "1992-08-01": "Army Day", "1992-10-01": "National Day", "1992-10-02": "National Day", "1993-01-01": "New Year's Day", "1993-01-23": "Chinese New Year (Spring Festival)", "1993-01-24": "Chinese New Year (Spring Festival)", "1993-01-25": "Chinese New Year (Spring Festival)", - "1993-05-01": "Labour Day", + "1993-03-08": "International Women's Day", + "1993-05-01": "Labor Day", + "1993-05-04": "Youth Day", + "1993-06-01": "Children's Day", + "1993-08-01": "Army Day", "1993-10-01": "National Day", "1993-10-02": "National Day", "1994-01-01": "New Year's Day", "1994-02-10": "Chinese New Year (Spring Festival)", "1994-02-11": "Chinese New Year (Spring Festival)", "1994-02-12": "Chinese New Year (Spring Festival)", - "1994-05-01": "Labour Day", + "1994-03-08": "International Women's Day", + "1994-05-01": "Labor Day", + "1994-05-04": "Youth Day", + "1994-06-01": "Children's Day", + "1994-08-01": "Army Day", "1994-10-01": "National Day", "1994-10-02": "National Day", "1995-01-01": "New Year's Day", "1995-01-31": "Chinese New Year (Spring Festival)", "1995-02-01": "Chinese New Year (Spring Festival)", "1995-02-02": "Chinese New Year (Spring Festival)", - "1995-05-01": "Labour Day", + "1995-03-08": "International Women's Day", + "1995-05-01": "Labor Day", + "1995-05-04": "Youth Day", + "1995-06-01": "Children's Day", + "1995-08-01": "Army Day", "1995-10-01": "National Day", "1995-10-02": "National Day", "1996-01-01": "New Year's Day", "1996-02-19": "Chinese New Year (Spring Festival)", "1996-02-20": "Chinese New Year (Spring Festival)", "1996-02-21": "Chinese New Year (Spring Festival)", - "1996-05-01": "Labour Day", + "1996-03-08": "International Women's Day", + "1996-05-01": "Labor Day", + "1996-05-04": "Youth Day", + "1996-06-01": "Children's Day", + "1996-08-01": "Army Day", "1996-10-01": "National Day", "1996-10-02": "National Day", "1997-01-01": "New Year's Day", "1997-02-07": "Chinese New Year (Spring Festival)", "1997-02-08": "Chinese New Year (Spring Festival)", "1997-02-09": "Chinese New Year (Spring Festival)", - "1997-05-01": "Labour Day", + "1997-03-08": "International Women's Day", + "1997-05-01": "Labor Day", + "1997-05-04": "Youth Day", + "1997-06-01": "Children's Day", + "1997-08-01": "Army Day", "1997-10-01": "National Day", "1997-10-02": "National Day", "1998-01-01": "New Year's Day", "1998-01-28": "Chinese New Year (Spring Festival)", "1998-01-29": "Chinese New Year (Spring Festival)", "1998-01-30": "Chinese New Year (Spring Festival)", - "1998-05-01": "Labour Day", + "1998-03-08": "International Women's Day", + "1998-05-01": "Labor Day", + "1998-05-04": "Youth Day", + "1998-06-01": "Children's Day", + "1998-08-01": "Army Day", "1998-10-01": "National Day", "1998-10-02": "National Day", "1999-01-01": "New Year's Day", "1999-02-16": "Chinese New Year (Spring Festival)", "1999-02-17": "Chinese New Year (Spring Festival)", "1999-02-18": "Chinese New Year (Spring Festival)", - "1999-05-01": "Labour Day", + "1999-03-08": "International Women's Day", + "1999-05-01": "Labor Day", + "1999-05-04": "Youth Day", + "1999-06-01": "Children's Day", + "1999-08-01": "Army Day", "1999-10-01": "National Day", "1999-10-02": "National Day", + "1999-10-03": "National Day", "2000-01-01": "New Year's Day", "2000-02-05": "Chinese New Year (Spring Festival)", "2000-02-06": "Chinese New Year (Spring Festival)", "2000-02-07": "Chinese New Year (Spring Festival)", - "2000-05-01": "Labour Day", - "2000-05-02": "Labour Day", - "2000-05-03": "Labour Day", + "2000-02-08": "Chinese New Year (Spring Festival)", + "2000-02-09": "Chinese New Year (Spring Festival)", + "2000-02-10": "Chinese New Year (Spring Festival)", + "2000-02-11": "Chinese New Year (Spring Festival)", + "2000-03-08": "International Women's Day", + "2000-05-01": "Labor Day", + "2000-05-02": "Labor Day", + "2000-05-03": "Labor Day", + "2000-05-04": "Labor Day; Youth Day", + "2000-05-05": "Labor Day", + "2000-05-06": "Labor Day", + "2000-05-07": "Labor Day", + "2000-06-01": "Children's Day", + "2000-08-01": "Army Day", "2000-10-01": "National Day", "2000-10-02": "National Day", "2000-10-03": "National Day", + "2000-10-04": "National Day", + "2000-10-05": "National Day", + "2000-10-06": "National Day", + "2000-10-07": "National Day", "2001-01-01": "New Year's Day", "2001-01-24": "Chinese New Year (Spring Festival)", "2001-01-25": "Chinese New Year (Spring Festival)", "2001-01-26": "Chinese New Year (Spring Festival)", - "2001-05-01": "Labour Day", - "2001-05-02": "Labour Day", - "2001-05-03": "Labour Day", + "2001-01-27": "Chinese New Year (Spring Festival)", + "2001-01-28": "Chinese New Year (Spring Festival)", + "2001-01-29": "Chinese New Year (Spring Festival)", + "2001-01-30": "Chinese New Year (Spring Festival)", + "2001-03-08": "International Women's Day", + "2001-05-01": "Labor Day", + "2001-05-02": "Labor Day", + "2001-05-03": "Labor Day", + "2001-05-04": "Labor Day; Youth Day", + "2001-05-05": "Labor Day", + "2001-05-06": "Labor Day", + "2001-05-07": "Labor Day", + "2001-06-01": "Children's Day", + "2001-08-01": "Army Day", "2001-10-01": "National Day", "2001-10-02": "National Day", "2001-10-03": "National Day", + "2001-10-04": "National Day", + "2001-10-05": "National Day", + "2001-10-06": "National Day", + "2001-10-07": "National Day", "2002-01-01": "New Year's Day", + "2002-01-02": "New Year's Day", + "2002-01-03": "New Year's Day", "2002-02-12": "Chinese New Year (Spring Festival)", "2002-02-13": "Chinese New Year (Spring Festival)", "2002-02-14": "Chinese New Year (Spring Festival)", - "2002-05-01": "Labour Day", - "2002-05-02": "Labour Day", - "2002-05-03": "Labour Day", + "2002-02-15": "Chinese New Year (Spring Festival)", + "2002-02-16": "Chinese New Year (Spring Festival)", + "2002-02-17": "Chinese New Year (Spring Festival)", + "2002-02-18": "Chinese New Year (Spring Festival)", + "2002-03-08": "International Women's Day", + "2002-05-01": "Labor Day", + "2002-05-02": "Labor Day", + "2002-05-03": "Labor Day", + "2002-05-04": "Labor Day; Youth Day", + "2002-05-05": "Labor Day", + "2002-05-06": "Labor Day", + "2002-05-07": "Labor Day", + "2002-06-01": "Children's Day", + "2002-08-01": "Army Day", "2002-10-01": "National Day", "2002-10-02": "National Day", "2002-10-03": "National Day", + "2002-10-04": "National Day", + "2002-10-05": "National Day", + "2002-10-06": "National Day", + "2002-10-07": "National Day", "2003-01-01": "New Year's Day", "2003-02-01": "Chinese New Year (Spring Festival)", "2003-02-02": "Chinese New Year (Spring Festival)", "2003-02-03": "Chinese New Year (Spring Festival)", - "2003-05-01": "Labour Day", - "2003-05-02": "Labour Day", - "2003-05-03": "Labour Day", + "2003-02-04": "Chinese New Year (Spring Festival)", + "2003-02-05": "Chinese New Year (Spring Festival)", + "2003-02-06": "Chinese New Year (Spring Festival)", + "2003-02-07": "Chinese New Year (Spring Festival)", + "2003-03-08": "International Women's Day", + "2003-05-01": "Labor Day", + "2003-05-02": "Labor Day", + "2003-05-03": "Labor Day", + "2003-05-04": "Labor Day; Youth Day", + "2003-05-05": "Labor Day", + "2003-05-06": "Labor Day", + "2003-05-07": "Labor Day", + "2003-06-01": "Children's Day", + "2003-08-01": "Army Day", "2003-10-01": "National Day", "2003-10-02": "National Day", "2003-10-03": "National Day", + "2003-10-04": "National Day", + "2003-10-05": "National Day", + "2003-10-06": "National Day", + "2003-10-07": "National Day", "2004-01-01": "New Year's Day", "2004-01-22": "Chinese New Year (Spring Festival)", "2004-01-23": "Chinese New Year (Spring Festival)", "2004-01-24": "Chinese New Year (Spring Festival)", - "2004-05-01": "Labour Day", - "2004-05-02": "Labour Day", - "2004-05-03": "Labour Day", + "2004-01-25": "Chinese New Year (Spring Festival)", + "2004-01-26": "Chinese New Year (Spring Festival)", + "2004-01-27": "Chinese New Year (Spring Festival)", + "2004-01-28": "Chinese New Year (Spring Festival)", + "2004-03-08": "International Women's Day", + "2004-05-01": "Labor Day", + "2004-05-02": "Labor Day", + "2004-05-03": "Labor Day", + "2004-05-04": "Labor Day; Youth Day", + "2004-05-05": "Labor Day", + "2004-05-06": "Labor Day", + "2004-05-07": "Labor Day", + "2004-06-01": "Children's Day", + "2004-08-01": "Army Day", "2004-10-01": "National Day", "2004-10-02": "National Day", "2004-10-03": "National Day", + "2004-10-04": "National Day", + "2004-10-05": "National Day", + "2004-10-06": "National Day", + "2004-10-07": "National Day", "2005-01-01": "New Year's Day", + "2005-01-02": "New Year's Day", + "2005-01-03": "New Year's Day", "2005-02-09": "Chinese New Year (Spring Festival)", "2005-02-10": "Chinese New Year (Spring Festival)", "2005-02-11": "Chinese New Year (Spring Festival)", - "2005-05-01": "Labour Day", - "2005-05-02": "Labour Day", - "2005-05-03": "Labour Day", + "2005-02-12": "Chinese New Year (Spring Festival)", + "2005-02-13": "Chinese New Year (Spring Festival)", + "2005-02-14": "Chinese New Year (Spring Festival)", + "2005-02-15": "Chinese New Year (Spring Festival)", + "2005-03-08": "International Women's Day", + "2005-05-01": "Labor Day", + "2005-05-02": "Labor Day", + "2005-05-03": "Labor Day", + "2005-05-04": "Labor Day; Youth Day", + "2005-05-05": "Labor Day", + "2005-05-06": "Labor Day", + "2005-05-07": "Labor Day", + "2005-06-01": "Children's Day", + "2005-08-01": "Army Day", "2005-10-01": "National Day", "2005-10-02": "National Day", "2005-10-03": "National Day", + "2005-10-04": "National Day", + "2005-10-05": "National Day", + "2005-10-06": "National Day", + "2005-10-07": "National Day", "2006-01-01": "New Year's Day", + "2006-01-02": "New Year's Day", + "2006-01-03": "New Year's Day", "2006-01-29": "Chinese New Year (Spring Festival)", "2006-01-30": "Chinese New Year (Spring Festival)", "2006-01-31": "Chinese New Year (Spring Festival)", - "2006-05-01": "Labour Day", - "2006-05-02": "Labour Day", - "2006-05-03": "Labour Day", + "2006-02-01": "Chinese New Year (Spring Festival)", + "2006-02-02": "Chinese New Year (Spring Festival)", + "2006-02-03": "Chinese New Year (Spring Festival)", + "2006-02-04": "Chinese New Year (Spring Festival)", + "2006-03-08": "International Women's Day", + "2006-05-01": "Labor Day", + "2006-05-02": "Labor Day", + "2006-05-03": "Labor Day", + "2006-05-04": "Labor Day; Youth Day", + "2006-05-05": "Labor Day", + "2006-05-06": "Labor Day", + "2006-05-07": "Labor Day", + "2006-06-01": "Children's Day", + "2006-08-01": "Army Day", "2006-10-01": "National Day", "2006-10-02": "National Day", "2006-10-03": "National Day", + "2006-10-04": "National Day", + "2006-10-05": "National Day", + "2006-10-06": "National Day", + "2006-10-07": "National Day", "2007-01-01": "New Year's Day", + "2007-01-02": "New Year's Day", + "2007-01-03": "New Year's Day", "2007-02-18": "Chinese New Year (Spring Festival)", "2007-02-19": "Chinese New Year (Spring Festival)", "2007-02-20": "Chinese New Year (Spring Festival)", - "2007-05-01": "Labour Day", - "2007-05-02": "Labour Day", - "2007-05-03": "Labour Day", + "2007-02-21": "Chinese New Year (Spring Festival)", + "2007-02-22": "Chinese New Year (Spring Festival)", + "2007-02-23": "Chinese New Year (Spring Festival)", + "2007-02-24": "Chinese New Year (Spring Festival)", + "2007-03-08": "International Women's Day", + "2007-05-01": "Labor Day", + "2007-05-02": "Labor Day", + "2007-05-03": "Labor Day", + "2007-05-04": "Labor Day; Youth Day", + "2007-05-05": "Labor Day", + "2007-05-06": "Labor Day", + "2007-05-07": "Labor Day", + "2007-06-01": "Children's Day", + "2007-08-01": "Army Day", "2007-10-01": "National Day", "2007-10-02": "National Day", "2007-10-03": "National Day", + "2007-10-04": "National Day", + "2007-10-05": "National Day", + "2007-10-06": "National Day", + "2007-10-07": "National Day", + "2007-12-30": "New Year's Day", + "2007-12-31": "New Year's Day", "2008-01-01": "New Year's Day", "2008-02-06": "Chinese New Year (Spring Festival)", "2008-02-07": "Chinese New Year (Spring Festival)", "2008-02-08": "Chinese New Year (Spring Festival)", + "2008-02-09": "Chinese New Year (Spring Festival)", + "2008-02-10": "Chinese New Year (Spring Festival)", + "2008-02-11": "Chinese New Year (Spring Festival)", + "2008-02-12": "Chinese New Year (Spring Festival)", + "2008-03-08": "International Women's Day", "2008-04-04": "Tomb-Sweeping Day", - "2008-05-01": "Labour Day", + "2008-04-05": "Tomb-Sweeping Day", + "2008-04-06": "Tomb-Sweeping Day", + "2008-05-01": "Labor Day", + "2008-05-02": "Labor Day", + "2008-05-03": "Labor Day", + "2008-05-04": "Youth Day", + "2008-06-01": "Children's Day", + "2008-06-07": "Dragon Boat Festival", "2008-06-08": "Dragon Boat Festival", + "2008-06-09": "Dragon Boat Festival", + "2008-08-01": "Army Day", + "2008-09-13": "Mid-Autumn Festival", "2008-09-14": "Mid-Autumn Festival", + "2008-09-15": "Mid-Autumn Festival", + "2008-09-29": "National Day", + "2008-09-30": "National Day", "2008-10-01": "National Day", "2008-10-02": "National Day", "2008-10-03": "National Day", + "2008-10-04": "National Day", + "2008-10-05": "National Day", "2009-01-01": "New Year's Day", + "2009-01-02": "New Year's Day", + "2009-01-03": "New Year's Day", "2009-01-25": "Chinese New Year (Spring Festival)", "2009-01-26": "Chinese New Year (Spring Festival)", "2009-01-27": "Chinese New Year (Spring Festival)", + "2009-01-28": "Chinese New Year (Spring Festival)", + "2009-01-29": "Chinese New Year (Spring Festival)", + "2009-01-30": "Chinese New Year (Spring Festival)", + "2009-01-31": "Chinese New Year (Spring Festival)", + "2009-03-08": "International Women's Day", "2009-04-04": "Tomb-Sweeping Day", - "2009-05-01": "Labour Day", + "2009-04-05": "Tomb-Sweeping Day", + "2009-04-06": "Tomb-Sweeping Day", + "2009-05-01": "Labor Day", + "2009-05-02": "Labor Day", + "2009-05-03": "Labor Day", + "2009-05-04": "Youth Day", "2009-05-28": "Dragon Boat Festival", + "2009-05-29": "Dragon Boat Festival", + "2009-05-30": "Dragon Boat Festival", + "2009-06-01": "Children's Day", + "2009-08-01": "Army Day", "2009-10-01": "National Day", "2009-10-02": "National Day", "2009-10-03": "Mid-Autumn Festival; National Day", + "2009-10-04": "National Day", + "2009-10-05": "National Day", + "2009-10-06": "National Day", + "2009-10-07": "National Day", + "2009-10-08": "National Day", "2010-01-01": "New Year's Day", + "2010-01-02": "New Year's Day", + "2010-01-03": "New Year's Day", "2010-02-13": "Chinese New Year (Spring Festival)", "2010-02-14": "Chinese New Year (Spring Festival)", "2010-02-15": "Chinese New Year (Spring Festival)", + "2010-02-16": "Chinese New Year (Spring Festival)", + "2010-02-17": "Chinese New Year (Spring Festival)", + "2010-02-18": "Chinese New Year (Spring Festival)", + "2010-02-19": "Chinese New Year (Spring Festival)", + "2010-03-08": "International Women's Day", + "2010-04-03": "Tomb-Sweeping Day", + "2010-04-04": "Tomb-Sweeping Day", "2010-04-05": "Tomb-Sweeping Day", - "2010-05-01": "Labour Day", + "2010-05-01": "Labor Day", + "2010-05-02": "Labor Day", + "2010-05-03": "Labor Day", + "2010-05-04": "Youth Day", + "2010-06-01": "Children's Day", + "2010-06-14": "Dragon Boat Festival", + "2010-06-15": "Dragon Boat Festival", "2010-06-16": "Dragon Boat Festival", + "2010-08-01": "Army Day", "2010-09-22": "Mid-Autumn Festival", + "2010-09-23": "Mid-Autumn Festival", + "2010-09-24": "Mid-Autumn Festival", "2010-10-01": "National Day", "2010-10-02": "National Day", "2010-10-03": "National Day", + "2010-10-04": "National Day", + "2010-10-05": "National Day", + "2010-10-06": "National Day", + "2010-10-07": "National Day", "2011-01-01": "New Year's Day", + "2011-01-02": "New Year's Day", + "2011-01-03": "New Year's Day", "2011-02-02": "Chinese New Year (Spring Festival)", "2011-02-03": "Chinese New Year (Spring Festival)", "2011-02-04": "Chinese New Year (Spring Festival)", + "2011-02-05": "Chinese New Year (Spring Festival)", + "2011-02-06": "Chinese New Year (Spring Festival)", + "2011-02-07": "Chinese New Year (Spring Festival)", + "2011-02-08": "Chinese New Year (Spring Festival)", + "2011-03-08": "International Women's Day", + "2011-04-03": "Tomb-Sweeping Day", + "2011-04-04": "Tomb-Sweeping Day", "2011-04-05": "Tomb-Sweeping Day", - "2011-05-01": "Labour Day", + "2011-04-30": "Labor Day", + "2011-05-01": "Labor Day", + "2011-05-02": "Labor Day", + "2011-05-04": "Youth Day", + "2011-06-01": "Children's Day", + "2011-06-04": "Dragon Boat Festival", + "2011-06-05": "Dragon Boat Festival", "2011-06-06": "Dragon Boat Festival", + "2011-08-01": "Army Day", + "2011-09-10": "Mid-Autumn Festival", + "2011-09-11": "Mid-Autumn Festival", "2011-09-12": "Mid-Autumn Festival", "2011-10-01": "National Day", "2011-10-02": "National Day", "2011-10-03": "National Day", + "2011-10-04": "National Day", + "2011-10-05": "National Day", + "2011-10-06": "National Day", + "2011-10-07": "National Day", "2012-01-01": "New Year's Day", + "2012-01-02": "New Year's Day", + "2012-01-03": "New Year's Day", "2012-01-22": "Chinese New Year (Spring Festival)", "2012-01-23": "Chinese New Year (Spring Festival)", "2012-01-24": "Chinese New Year (Spring Festival)", + "2012-01-25": "Chinese New Year (Spring Festival)", + "2012-01-26": "Chinese New Year (Spring Festival)", + "2012-01-27": "Chinese New Year (Spring Festival)", + "2012-01-28": "Chinese New Year (Spring Festival)", + "2012-03-08": "International Women's Day", + "2012-04-02": "Tomb-Sweeping Day", + "2012-04-03": "Tomb-Sweeping Day", "2012-04-04": "Tomb-Sweeping Day", - "2012-05-01": "Labour Day", + "2012-04-29": "Labor Day", + "2012-04-30": "Labor Day", + "2012-05-01": "Labor Day", + "2012-05-04": "Youth Day", + "2012-06-01": "Children's Day", + "2012-06-22": "Dragon Boat Festival", "2012-06-23": "Dragon Boat Festival", + "2012-06-24": "Dragon Boat Festival", + "2012-08-01": "Army Day", "2012-09-30": "Mid-Autumn Festival", "2012-10-01": "National Day", "2012-10-02": "National Day", "2012-10-03": "National Day", + "2012-10-04": "National Day", + "2012-10-05": "National Day", + "2012-10-06": "National Day", + "2012-10-07": "National Day", "2013-01-01": "New Year's Day", + "2013-01-02": "New Year's Day", + "2013-01-03": "New Year's Day", "2013-02-09": "Chinese New Year (Spring Festival)", "2013-02-10": "Chinese New Year (Spring Festival)", "2013-02-11": "Chinese New Year (Spring Festival)", + "2013-02-12": "Chinese New Year (Spring Festival)", + "2013-02-13": "Chinese New Year (Spring Festival)", + "2013-02-14": "Chinese New Year (Spring Festival)", + "2013-02-15": "Chinese New Year (Spring Festival)", + "2013-03-08": "International Women's Day", "2013-04-04": "Tomb-Sweeping Day", - "2013-05-01": "Labour Day", + "2013-04-05": "Tomb-Sweeping Day", + "2013-04-06": "Tomb-Sweeping Day", + "2013-04-29": "Labor Day", + "2013-04-30": "Labor Day", + "2013-05-01": "Labor Day", + "2013-05-04": "Youth Day", + "2013-06-01": "Children's Day", + "2013-06-10": "Dragon Boat Festival", + "2013-06-11": "Dragon Boat Festival", "2013-06-12": "Dragon Boat Festival", + "2013-08-01": "Army Day", "2013-09-19": "Mid-Autumn Festival", + "2013-09-20": "Mid-Autumn Festival", + "2013-09-21": "Mid-Autumn Festival", "2013-10-01": "National Day", "2013-10-02": "National Day", "2013-10-03": "National Day", + "2013-10-04": "National Day", + "2013-10-05": "National Day", + "2013-10-06": "National Day", + "2013-10-07": "National Day", "2014-01-01": "New Year's Day", "2014-01-31": "Chinese New Year (Spring Festival)", "2014-02-01": "Chinese New Year (Spring Festival)", "2014-02-02": "Chinese New Year (Spring Festival)", + "2014-02-03": "Chinese New Year (Spring Festival)", + "2014-02-04": "Chinese New Year (Spring Festival)", + "2014-02-05": "Chinese New Year (Spring Festival)", + "2014-02-06": "Chinese New Year (Spring Festival)", + "2014-03-08": "International Women's Day", "2014-04-05": "Tomb-Sweeping Day", - "2014-05-01": "Labour Day", + "2014-05-01": "Labor Day", + "2014-05-02": "Labor Day", + "2014-05-03": "Labor Day", + "2014-05-04": "Youth Day", + "2014-06-01": "Children's Day", "2014-06-02": "Dragon Boat Festival", + "2014-08-01": "Army Day", "2014-09-08": "Mid-Autumn Festival", "2014-10-01": "National Day", "2014-10-02": "National Day", "2014-10-03": "National Day", + "2014-10-04": "National Day", + "2014-10-05": "National Day", + "2014-10-06": "National Day", + "2014-10-07": "National Day", "2015-01-01": "New Year's Day", + "2015-01-02": "New Year's Day", + "2015-01-03": "New Year's Day", + "2015-02-18": "Chinese New Year (Spring Festival)", "2015-02-19": "Chinese New Year (Spring Festival)", "2015-02-20": "Chinese New Year (Spring Festival)", "2015-02-21": "Chinese New Year (Spring Festival)", + "2015-02-22": "Chinese New Year (Spring Festival)", + "2015-02-23": "Chinese New Year (Spring Festival)", + "2015-02-24": "Chinese New Year (Spring Festival)", + "2015-03-08": "International Women's Day", "2015-04-05": "Tomb-Sweeping Day", - "2015-05-01": "Labour Day", + "2015-05-01": "Labor Day", + "2015-05-04": "Youth Day", + "2015-06-01": "Children's Day", "2015-06-20": "Dragon Boat Festival", + "2015-08-01": "Army Day", "2015-09-27": "Mid-Autumn Festival", "2015-10-01": "National Day", "2015-10-02": "National Day", "2015-10-03": "National Day", + "2015-10-04": "National Day", + "2015-10-05": "National Day", + "2015-10-06": "National Day", + "2015-10-07": "National Day", "2016-01-01": "New Year's Day", + "2016-02-07": "Chinese New Year (Spring Festival)", "2016-02-08": "Chinese New Year (Spring Festival)", "2016-02-09": "Chinese New Year (Spring Festival)", "2016-02-10": "Chinese New Year (Spring Festival)", + "2016-02-11": "Chinese New Year (Spring Festival)", + "2016-02-12": "Chinese New Year (Spring Festival)", + "2016-02-13": "Chinese New Year (Spring Festival)", + "2016-03-08": "International Women's Day", "2016-04-04": "Tomb-Sweeping Day", - "2016-05-01": "Labour Day", + "2016-05-01": "Labor Day", + "2016-05-04": "Youth Day", + "2016-06-01": "Children's Day", "2016-06-09": "Dragon Boat Festival", + "2016-06-10": "Dragon Boat Festival", + "2016-06-11": "Dragon Boat Festival", + "2016-08-01": "Army Day", "2016-09-15": "Mid-Autumn Festival", + "2016-09-16": "Mid-Autumn Festival", + "2016-09-17": "Mid-Autumn Festival", "2016-10-01": "National Day", "2016-10-02": "National Day", "2016-10-03": "National Day", + "2016-10-04": "National Day", + "2016-10-05": "National Day", + "2016-10-06": "National Day", + "2016-10-07": "National Day", "2017-01-01": "New Year's Day", + "2017-01-27": "Chinese New Year (Spring Festival)", "2017-01-28": "Chinese New Year (Spring Festival)", "2017-01-29": "Chinese New Year (Spring Festival)", "2017-01-30": "Chinese New Year (Spring Festival)", + "2017-01-31": "Chinese New Year (Spring Festival)", + "2017-02-01": "Chinese New Year (Spring Festival)", + "2017-02-02": "Chinese New Year (Spring Festival)", + "2017-03-08": "International Women's Day", + "2017-04-02": "Tomb-Sweeping Day", + "2017-04-03": "Tomb-Sweeping Day", "2017-04-04": "Tomb-Sweeping Day", - "2017-05-01": "Labour Day", + "2017-05-01": "Labor Day", + "2017-05-04": "Youth Day", + "2017-05-28": "Dragon Boat Festival", + "2017-05-29": "Dragon Boat Festival", "2017-05-30": "Dragon Boat Festival", + "2017-06-01": "Children's Day", + "2017-08-01": "Army Day", "2017-10-01": "National Day", "2017-10-02": "National Day", "2017-10-03": "National Day", - "2017-10-04": "Mid-Autumn Festival", + "2017-10-04": "Mid-Autumn Festival; National Day", + "2017-10-05": "National Day", + "2017-10-06": "National Day", + "2017-10-07": "National Day", + "2017-10-08": "National Day", "2018-01-01": "New Year's Day", + "2018-02-15": "Chinese New Year (Spring Festival)", "2018-02-16": "Chinese New Year (Spring Festival)", "2018-02-17": "Chinese New Year (Spring Festival)", "2018-02-18": "Chinese New Year (Spring Festival)", + "2018-02-19": "Chinese New Year (Spring Festival)", + "2018-02-20": "Chinese New Year (Spring Festival)", + "2018-02-21": "Chinese New Year (Spring Festival)", + "2018-03-08": "International Women's Day", "2018-04-05": "Tomb-Sweeping Day", - "2018-05-01": "Labour Day", + "2018-04-06": "Tomb-Sweeping Day", + "2018-04-07": "Tomb-Sweeping Day", + "2018-04-29": "Labor Day", + "2018-04-30": "Labor Day", + "2018-05-01": "Labor Day", + "2018-05-04": "Youth Day", + "2018-06-01": "Children's Day", "2018-06-18": "Dragon Boat Festival", + "2018-08-01": "Army Day", "2018-09-24": "Mid-Autumn Festival", "2018-10-01": "National Day", "2018-10-02": "National Day", "2018-10-03": "National Day", + "2018-10-04": "National Day", + "2018-10-05": "National Day", + "2018-10-06": "National Day", + "2018-10-07": "National Day", + "2018-12-30": "New Year's Day", + "2018-12-31": "New Year's Day", "2019-01-01": "New Year's Day", + "2019-02-04": "Chinese New Year (Spring Festival)", "2019-02-05": "Chinese New Year (Spring Festival)", "2019-02-06": "Chinese New Year (Spring Festival)", "2019-02-07": "Chinese New Year (Spring Festival)", + "2019-02-08": "Chinese New Year (Spring Festival)", + "2019-02-09": "Chinese New Year (Spring Festival)", + "2019-02-10": "Chinese New Year (Spring Festival)", + "2019-03-08": "International Women's Day", "2019-04-05": "Tomb-Sweeping Day", - "2019-05-01": "Labour Day", + "2019-05-01": "Labor Day", + "2019-05-04": "Youth Day", + "2019-06-01": "Children's Day", "2019-06-07": "Dragon Boat Festival", + "2019-08-01": "Army Day", "2019-09-13": "Mid-Autumn Festival", "2019-10-01": "National Day", "2019-10-02": "National Day", "2019-10-03": "National Day", + "2019-10-04": "National Day", + "2019-10-05": "National Day", + "2019-10-06": "National Day", + "2019-10-07": "National Day", "2020-01-01": "New Year's Day", + "2020-01-24": "Chinese New Year (Spring Festival)", "2020-01-25": "Chinese New Year (Spring Festival)", "2020-01-26": "Chinese New Year (Spring Festival)", "2020-01-27": "Chinese New Year (Spring Festival)", + "2020-01-28": "Chinese New Year (Spring Festival)", + "2020-01-29": "Chinese New Year (Spring Festival)", + "2020-01-30": "Chinese New Year (Spring Festival)", + "2020-03-08": "International Women's Day", "2020-04-04": "Tomb-Sweeping Day", - "2020-05-01": "Labour Day", + "2020-04-05": "Tomb-Sweeping Day", + "2020-04-06": "Tomb-Sweeping Day", + "2020-05-01": "Labor Day", + "2020-05-02": "Labor Day", + "2020-05-03": "Labor Day", + "2020-05-04": "Labor Day; Youth Day", + "2020-05-05": "Labor Day", + "2020-06-01": "Children's Day", "2020-06-25": "Dragon Boat Festival", + "2020-06-26": "Dragon Boat Festival", + "2020-06-27": "Dragon Boat Festival", + "2020-08-01": "Army Day", "2020-10-01": "Mid-Autumn Festival; National Day", "2020-10-02": "National Day", "2020-10-03": "National Day", + "2020-10-04": "National Day", + "2020-10-05": "National Day", + "2020-10-06": "National Day", + "2020-10-07": "National Day", + "2020-10-08": "National Day", "2021-01-01": "New Year's Day", + "2021-01-02": "New Year's Day", + "2021-01-03": "New Year's Day", + "2021-02-11": "Chinese New Year (Spring Festival)", "2021-02-12": "Chinese New Year (Spring Festival)", "2021-02-13": "Chinese New Year (Spring Festival)", "2021-02-14": "Chinese New Year (Spring Festival)", + "2021-02-15": "Chinese New Year (Spring Festival)", + "2021-02-16": "Chinese New Year (Spring Festival)", + "2021-02-17": "Chinese New Year (Spring Festival)", + "2021-03-08": "International Women's Day", + "2021-04-03": "Tomb-Sweeping Day", "2021-04-04": "Tomb-Sweeping Day", - "2021-05-01": "Labour Day", + "2021-04-05": "Tomb-Sweeping Day", + "2021-05-01": "Labor Day", + "2021-05-02": "Labor Day", + "2021-05-03": "Labor Day", + "2021-05-04": "Labor Day; Youth Day", + "2021-05-05": "Labor Day", + "2021-06-01": "Children's Day", + "2021-06-12": "Dragon Boat Festival", + "2021-06-13": "Dragon Boat Festival", "2021-06-14": "Dragon Boat Festival", + "2021-08-01": "Army Day", + "2021-09-19": "Mid-Autumn Festival", + "2021-09-20": "Mid-Autumn Festival", "2021-09-21": "Mid-Autumn Festival", "2021-10-01": "National Day", "2021-10-02": "National Day", "2021-10-03": "National Day", + "2021-10-04": "National Day", + "2021-10-05": "National Day", + "2021-10-06": "National Day", + "2021-10-07": "National Day", "2022-01-01": "New Year's Day", + "2022-01-02": "New Year's Day", + "2022-01-03": "New Year's Day", + "2022-01-31": "Chinese New Year (Spring Festival)", "2022-02-01": "Chinese New Year (Spring Festival)", "2022-02-02": "Chinese New Year (Spring Festival)", "2022-02-03": "Chinese New Year (Spring Festival)", + "2022-02-04": "Chinese New Year (Spring Festival)", + "2022-02-05": "Chinese New Year (Spring Festival)", + "2022-02-06": "Chinese New Year (Spring Festival)", + "2022-03-08": "International Women's Day", + "2022-04-03": "Tomb-Sweeping Day", + "2022-04-04": "Tomb-Sweeping Day", "2022-04-05": "Tomb-Sweeping Day", - "2022-05-01": "Labour Day", + "2022-04-30": "Labor Day", + "2022-05-01": "Labor Day", + "2022-05-02": "Labor Day", + "2022-05-03": "Labor Day", + "2022-05-04": "Labor Day; Youth Day", + "2022-06-01": "Children's Day", "2022-06-03": "Dragon Boat Festival", + "2022-06-04": "Dragon Boat Festival", + "2022-06-05": "Dragon Boat Festival", + "2022-08-01": "Army Day", "2022-09-10": "Mid-Autumn Festival", + "2022-09-11": "Mid-Autumn Festival", + "2022-09-12": "Mid-Autumn Festival", "2022-10-01": "National Day", "2022-10-02": "National Day", "2022-10-03": "National Day", + "2022-10-04": "National Day", + "2022-10-05": "National Day", + "2022-10-06": "National Day", + "2022-10-07": "National Day", + "2022-12-31": "New Year's Day", "2023-01-01": "New Year's Day", + "2023-01-02": "New Year's Day", + "2023-01-21": "Chinese New Year (Spring Festival)", "2023-01-22": "Chinese New Year (Spring Festival)", "2023-01-23": "Chinese New Year (Spring Festival)", "2023-01-24": "Chinese New Year (Spring Festival)", + "2023-01-25": "Chinese New Year (Spring Festival)", + "2023-01-26": "Chinese New Year (Spring Festival)", + "2023-01-27": "Chinese New Year (Spring Festival)", + "2023-03-08": "International Women's Day", "2023-04-05": "Tomb-Sweeping Day", - "2023-05-01": "Labour Day", + "2023-04-29": "Labor Day", + "2023-04-30": "Labor Day", + "2023-05-01": "Labor Day", + "2023-05-02": "Labor Day", + "2023-05-03": "Labor Day", + "2023-05-04": "Youth Day", + "2023-06-01": "Children's Day", "2023-06-22": "Dragon Boat Festival", + "2023-06-23": "Dragon Boat Festival", + "2023-06-24": "Dragon Boat Festival", + "2023-08-01": "Army Day", "2023-09-29": "Mid-Autumn Festival", + "2023-09-30": "Mid-Autumn Festival", "2023-10-01": "National Day", "2023-10-02": "National Day", "2023-10-03": "National Day", + "2023-10-04": "National Day", + "2023-10-05": "National Day", + "2023-10-06": "National Day", "2024-01-01": "New Year's Day", + "2024-02-09": "Chinese New Year (Spring Festival)", "2024-02-10": "Chinese New Year (Spring Festival)", "2024-02-11": "Chinese New Year (Spring Festival)", "2024-02-12": "Chinese New Year (Spring Festival)", + "2024-02-13": "Chinese New Year (Spring Festival)", + "2024-02-14": "Chinese New Year (Spring Festival)", + "2024-02-15": "Chinese New Year (Spring Festival)", + "2024-03-08": "International Women's Day", "2024-04-04": "Tomb-Sweeping Day", - "2024-05-01": "Labour Day", + "2024-04-05": "Tomb-Sweeping Day", + "2024-04-06": "Tomb-Sweeping Day", + "2024-04-29": "Labor Day", + "2024-04-30": "Labor Day", + "2024-05-01": "Labor Day", + "2024-05-02": "Labor Day", + "2024-05-03": "Labor Day", + "2024-05-04": "Youth Day", + "2024-06-01": "Children's Day", + "2024-06-08": "Dragon Boat Festival", + "2024-06-09": "Dragon Boat Festival", "2024-06-10": "Dragon Boat Festival", + "2024-08-01": "Army Day", + "2024-09-15": "Mid-Autumn Festival", + "2024-09-16": "Mid-Autumn Festival", "2024-09-17": "Mid-Autumn Festival", "2024-10-01": "National Day", "2024-10-02": "National Day", "2024-10-03": "National Day", + "2024-10-04": "National Day", + "2024-10-05": "National Day", + "2024-10-06": "National Day", + "2024-10-07": "National Day", "2025-01-01": "New Year's Day", + "2025-01-28": "Chinese New Year (Spring Festival)", "2025-01-29": "Chinese New Year (Spring Festival)", "2025-01-30": "Chinese New Year (Spring Festival)", "2025-01-31": "Chinese New Year (Spring Festival)", + "2025-02-01": "Chinese New Year (Spring Festival)", + "2025-02-02": "Chinese New Year (Spring Festival)", + "2025-02-03": "Chinese New Year (Spring Festival)", + "2025-03-08": "International Women's Day", "2025-04-04": "Tomb-Sweeping Day", - "2025-05-01": "Labour Day", + "2025-04-05": "Tomb-Sweeping Day", + "2025-04-06": "Tomb-Sweeping Day", + "2025-05-01": "Labor Day", + "2025-05-02": "Labor Day", + "2025-05-03": "Labor Day", + "2025-05-04": "Labor Day; Youth Day", + "2025-05-05": "Labor Day", "2025-05-31": "Dragon Boat Festival", + "2025-06-01": "Children's Day; Dragon Boat Festival", + "2025-06-02": "Dragon Boat Festival", + "2025-08-01": "Army Day", "2025-10-01": "National Day", "2025-10-02": "National Day", "2025-10-03": "National Day", - "2025-10-06": "Mid-Autumn Festival", + "2025-10-04": "National Day", + "2025-10-05": "National Day", + "2025-10-06": "Mid-Autumn Festival; National Day", + "2025-10-07": "National Day", + "2025-10-08": "National Day", "2026-01-01": "New Year's Day", + "2026-01-02": "New Year's Day", + "2026-01-03": "New Year's Day", + "2026-02-16": "Chinese New Year (Spring Festival)", "2026-02-17": "Chinese New Year (Spring Festival)", "2026-02-18": "Chinese New Year (Spring Festival)", "2026-02-19": "Chinese New Year (Spring Festival)", + "2026-02-20": "Chinese New Year (Spring Festival)", + "2026-02-21": "Chinese New Year (Spring Festival)", + "2026-02-22": "Chinese New Year (Spring Festival)", + "2026-03-08": "International Women's Day", + "2026-04-04": "Tomb-Sweeping Day", "2026-04-05": "Tomb-Sweeping Day", - "2026-05-01": "Labour Day", + "2026-04-06": "Tomb-Sweeping Day", + "2026-05-01": "Labor Day", + "2026-05-02": "Labor Day", + "2026-05-03": "Labor Day", + "2026-05-04": "Labor Day; Youth Day", + "2026-05-05": "Labor Day", + "2026-06-01": "Children's Day", "2026-06-19": "Dragon Boat Festival", + "2026-06-20": "Dragon Boat Festival", + "2026-06-21": "Dragon Boat Festival", + "2026-08-01": "Army Day", "2026-09-25": "Mid-Autumn Festival", + "2026-09-26": "Mid-Autumn Festival", + "2026-09-27": "Mid-Autumn Festival", "2026-10-01": "National Day", "2026-10-02": "National Day", "2026-10-03": "National Day", + "2026-10-04": "National Day", + "2026-10-05": "National Day", + "2026-10-06": "National Day", + "2026-10-07": "National Day", "2027-01-01": "New Year's Day", + "2027-01-02": "New Year's Day", + "2027-01-03": "New Year's Day", + "2027-02-05": "Chinese New Year (Spring Festival)", "2027-02-06": "Chinese New Year (Spring Festival)", "2027-02-07": "Chinese New Year (Spring Festival)", "2027-02-08": "Chinese New Year (Spring Festival)", + "2027-02-09": "Chinese New Year (Spring Festival)", + "2027-02-10": "Chinese New Year (Spring Festival)", + "2027-02-11": "Chinese New Year (Spring Festival)", + "2027-03-08": "International Women's Day", + "2027-04-03": "Tomb-Sweeping Day", + "2027-04-04": "Tomb-Sweeping Day", "2027-04-05": "Tomb-Sweeping Day", - "2027-05-01": "Labour Day", + "2027-05-01": "Labor Day", + "2027-05-02": "Labor Day", + "2027-05-03": "Labor Day", + "2027-05-04": "Labor Day; Youth Day", + "2027-05-05": "Labor Day", + "2027-06-01": "Children's Day", + "2027-06-07": "Dragon Boat Festival", + "2027-06-08": "Dragon Boat Festival", "2027-06-09": "Dragon Boat Festival", + "2027-08-01": "Army Day", + "2027-09-13": "Mid-Autumn Festival", + "2027-09-14": "Mid-Autumn Festival", "2027-09-15": "Mid-Autumn Festival", "2027-10-01": "National Day", "2027-10-02": "National Day", "2027-10-03": "National Day", + "2027-10-04": "National Day", + "2027-10-05": "National Day", + "2027-10-06": "National Day", + "2027-10-07": "National Day", "2028-01-01": "New Year's Day", + "2028-01-02": "New Year's Day", + "2028-01-03": "New Year's Day", + "2028-01-25": "Chinese New Year (Spring Festival)", "2028-01-26": "Chinese New Year (Spring Festival)", "2028-01-27": "Chinese New Year (Spring Festival)", "2028-01-28": "Chinese New Year (Spring Festival)", + "2028-01-29": "Chinese New Year (Spring Festival)", + "2028-01-30": "Chinese New Year (Spring Festival)", + "2028-01-31": "Chinese New Year (Spring Festival)", + "2028-03-08": "International Women's Day", + "2028-04-02": "Tomb-Sweeping Day", + "2028-04-03": "Tomb-Sweeping Day", "2028-04-04": "Tomb-Sweeping Day", - "2028-05-01": "Labour Day", + "2028-04-29": "Labor Day", + "2028-04-30": "Labor Day", + "2028-05-01": "Labor Day", + "2028-05-02": "Labor Day", + "2028-05-03": "Labor Day", + "2028-05-04": "Youth Day", + "2028-05-27": "Dragon Boat Festival", "2028-05-28": "Dragon Boat Festival", + "2028-05-29": "Dragon Boat Festival", + "2028-06-01": "Children's Day", + "2028-08-01": "Army Day", "2028-10-01": "National Day", "2028-10-02": "National Day", "2028-10-03": "Mid-Autumn Festival; National Day", + "2028-10-04": "National Day", + "2028-10-05": "National Day", + "2028-10-06": "National Day", + "2028-10-07": "National Day", + "2028-10-08": "National Day", "2029-01-01": "New Year's Day", + "2029-02-12": "Chinese New Year (Spring Festival)", "2029-02-13": "Chinese New Year (Spring Festival)", "2029-02-14": "Chinese New Year (Spring Festival)", "2029-02-15": "Chinese New Year (Spring Festival)", + "2029-02-16": "Chinese New Year (Spring Festival)", + "2029-02-17": "Chinese New Year (Spring Festival)", + "2029-02-18": "Chinese New Year (Spring Festival)", + "2029-03-08": "International Women's Day", + "2029-04-02": "Tomb-Sweeping Day", + "2029-04-03": "Tomb-Sweeping Day", "2029-04-04": "Tomb-Sweeping Day", - "2029-05-01": "Labour Day", + "2029-04-29": "Labor Day", + "2029-04-30": "Labor Day", + "2029-05-01": "Labor Day", + "2029-05-02": "Labor Day", + "2029-05-03": "Labor Day", + "2029-05-04": "Youth Day", + "2029-06-01": "Children's Day", "2029-06-16": "Dragon Boat Festival", + "2029-06-17": "Dragon Boat Festival", + "2029-06-18": "Dragon Boat Festival", + "2029-08-01": "Army Day", "2029-09-22": "Mid-Autumn Festival", + "2029-09-23": "Mid-Autumn Festival", + "2029-09-24": "Mid-Autumn Festival", "2029-10-01": "National Day", "2029-10-02": "National Day", "2029-10-03": "National Day", + "2029-10-04": "National Day", + "2029-10-05": "National Day", + "2029-10-06": "National Day", + "2029-10-07": "National Day", "2030-01-01": "New Year's Day", + "2030-02-02": "Chinese New Year (Spring Festival)", "2030-02-03": "Chinese New Year (Spring Festival)", "2030-02-04": "Chinese New Year (Spring Festival)", "2030-02-05": "Chinese New Year (Spring Festival)", + "2030-02-06": "Chinese New Year (Spring Festival)", + "2030-02-07": "Chinese New Year (Spring Festival)", + "2030-02-08": "Chinese New Year (Spring Festival)", + "2030-03-08": "International Women's Day", "2030-04-05": "Tomb-Sweeping Day", - "2030-05-01": "Labour Day", + "2030-04-06": "Tomb-Sweeping Day", + "2030-04-07": "Tomb-Sweeping Day", + "2030-04-29": "Labor Day", + "2030-04-30": "Labor Day", + "2030-05-01": "Labor Day", + "2030-05-02": "Labor Day", + "2030-05-03": "Labor Day", + "2030-05-04": "Youth Day", + "2030-06-01": "Children's Day", + "2030-06-03": "Dragon Boat Festival", + "2030-06-04": "Dragon Boat Festival", "2030-06-05": "Dragon Boat Festival", + "2030-08-01": "Army Day", "2030-09-12": "Mid-Autumn Festival", "2030-10-01": "National Day", "2030-10-02": "National Day", "2030-10-03": "National Day", + "2030-10-04": "National Day", + "2030-10-05": "National Day", + "2030-10-06": "National Day", + "2030-10-07": "National Day", "2031-01-01": "New Year's Day", + "2031-01-22": "Chinese New Year (Spring Festival)", "2031-01-23": "Chinese New Year (Spring Festival)", "2031-01-24": "Chinese New Year (Spring Festival)", "2031-01-25": "Chinese New Year (Spring Festival)", + "2031-01-26": "Chinese New Year (Spring Festival)", + "2031-01-27": "Chinese New Year (Spring Festival)", + "2031-01-28": "Chinese New Year (Spring Festival)", + "2031-03-08": "International Women's Day", "2031-04-05": "Tomb-Sweeping Day", - "2031-05-01": "Labour Day", + "2031-04-06": "Tomb-Sweeping Day", + "2031-04-07": "Tomb-Sweeping Day", + "2031-05-01": "Labor Day", + "2031-05-02": "Labor Day", + "2031-05-03": "Labor Day", + "2031-05-04": "Labor Day; Youth Day", + "2031-05-05": "Labor Day", + "2031-06-01": "Children's Day", + "2031-06-22": "Dragon Boat Festival", + "2031-06-23": "Dragon Boat Festival", "2031-06-24": "Dragon Boat Festival", + "2031-08-01": "Army Day", "2031-10-01": "Mid-Autumn Festival; National Day", "2031-10-02": "National Day", "2031-10-03": "National Day", + "2031-10-04": "National Day", + "2031-10-05": "National Day", + "2031-10-06": "National Day", + "2031-10-07": "National Day", + "2031-10-08": "National Day", "2032-01-01": "New Year's Day", + "2032-01-02": "New Year's Day", + "2032-01-03": "New Year's Day", + "2032-02-10": "Chinese New Year (Spring Festival)", "2032-02-11": "Chinese New Year (Spring Festival)", "2032-02-12": "Chinese New Year (Spring Festival)", "2032-02-13": "Chinese New Year (Spring Festival)", + "2032-02-14": "Chinese New Year (Spring Festival)", + "2032-02-15": "Chinese New Year (Spring Festival)", + "2032-02-16": "Chinese New Year (Spring Festival)", + "2032-03-08": "International Women's Day", + "2032-04-03": "Tomb-Sweeping Day", "2032-04-04": "Tomb-Sweeping Day", - "2032-05-01": "Labour Day", + "2032-04-05": "Tomb-Sweeping Day", + "2032-05-01": "Labor Day", + "2032-05-02": "Labor Day", + "2032-05-03": "Labor Day", + "2032-05-04": "Labor Day; Youth Day", + "2032-05-05": "Labor Day", + "2032-06-01": "Children's Day", "2032-06-12": "Dragon Boat Festival", + "2032-06-13": "Dragon Boat Festival", + "2032-06-14": "Dragon Boat Festival", + "2032-08-01": "Army Day", + "2032-09-18": "Mid-Autumn Festival", "2032-09-19": "Mid-Autumn Festival", + "2032-09-20": "Mid-Autumn Festival", "2032-10-01": "National Day", "2032-10-02": "National Day", "2032-10-03": "National Day", + "2032-10-04": "National Day", + "2032-10-05": "National Day", + "2032-10-06": "National Day", + "2032-10-07": "National Day", "2033-01-01": "New Year's Day", + "2033-01-02": "New Year's Day", + "2033-01-03": "New Year's Day", + "2033-01-30": "Chinese New Year (Spring Festival)", "2033-01-31": "Chinese New Year (Spring Festival)", "2033-02-01": "Chinese New Year (Spring Festival)", "2033-02-02": "Chinese New Year (Spring Festival)", + "2033-02-03": "Chinese New Year (Spring Festival)", + "2033-02-04": "Chinese New Year (Spring Festival)", + "2033-02-05": "Chinese New Year (Spring Festival)", + "2033-03-08": "International Women's Day", + "2033-04-02": "Tomb-Sweeping Day", + "2033-04-03": "Tomb-Sweeping Day", "2033-04-04": "Tomb-Sweeping Day", - "2033-05-01": "Labour Day", - "2033-06-01": "Dragon Boat Festival", + "2033-04-30": "Labor Day", + "2033-05-01": "Labor Day", + "2033-05-02": "Labor Day", + "2033-05-03": "Labor Day", + "2033-05-04": "Labor Day; Youth Day", + "2033-05-30": "Children's Day; Dragon Boat Festival", + "2033-05-31": "Children's Day; Dragon Boat Festival", + "2033-06-01": "Children's Day; Dragon Boat Festival", + "2033-08-01": "Army Day", "2033-09-08": "Mid-Autumn Festival", + "2033-09-09": "Mid-Autumn Festival", + "2033-09-10": "Mid-Autumn Festival", "2033-10-01": "National Day", "2033-10-02": "National Day", "2033-10-03": "National Day", + "2033-10-04": "National Day", + "2033-10-05": "National Day", + "2033-10-06": "National Day", + "2033-10-07": "National Day", "2034-01-01": "New Year's Day", + "2034-01-02": "New Year's Day", + "2034-02-18": "Chinese New Year (Spring Festival)", "2034-02-19": "Chinese New Year (Spring Festival)", "2034-02-20": "Chinese New Year (Spring Festival)", "2034-02-21": "Chinese New Year (Spring Festival)", + "2034-02-22": "Chinese New Year (Spring Festival)", + "2034-02-23": "Chinese New Year (Spring Festival)", + "2034-02-24": "Chinese New Year (Spring Festival)", + "2034-03-08": "International Women's Day", + "2034-04-03": "Tomb-Sweeping Day", + "2034-04-04": "Tomb-Sweeping Day", "2034-04-05": "Tomb-Sweeping Day", - "2034-05-01": "Labour Day", + "2034-04-29": "Labor Day", + "2034-04-30": "Labor Day", + "2034-05-01": "Labor Day", + "2034-05-02": "Labor Day", + "2034-05-03": "Labor Day", + "2034-05-04": "Youth Day", + "2034-06-01": "Children's Day", + "2034-06-18": "Dragon Boat Festival", + "2034-06-19": "Dragon Boat Festival", "2034-06-20": "Dragon Boat Festival", + "2034-08-01": "Army Day", + "2034-09-25": "Mid-Autumn Festival", + "2034-09-26": "Mid-Autumn Festival", "2034-09-27": "Mid-Autumn Festival", "2034-10-01": "National Day", "2034-10-02": "National Day", "2034-10-03": "National Day", + "2034-10-04": "National Day", + "2034-10-05": "National Day", + "2034-10-06": "National Day", + "2034-10-07": "National Day", "2035-01-01": "New Year's Day", + "2035-02-07": "Chinese New Year (Spring Festival)", "2035-02-08": "Chinese New Year (Spring Festival)", "2035-02-09": "Chinese New Year (Spring Festival)", "2035-02-10": "Chinese New Year (Spring Festival)", + "2035-02-11": "Chinese New Year (Spring Festival)", + "2035-02-12": "Chinese New Year (Spring Festival)", + "2035-02-13": "Chinese New Year (Spring Festival)", + "2035-03-08": "International Women's Day", "2035-04-05": "Tomb-Sweeping Day", - "2035-05-01": "Labour Day", + "2035-04-06": "Tomb-Sweeping Day", + "2035-04-07": "Tomb-Sweeping Day", + "2035-04-29": "Labor Day", + "2035-04-30": "Labor Day", + "2035-05-01": "Labor Day", + "2035-05-02": "Labor Day", + "2035-05-03": "Labor Day", + "2035-05-04": "Youth Day", + "2035-06-01": "Children's Day", + "2035-06-09": "Dragon Boat Festival", "2035-06-10": "Dragon Boat Festival", + "2035-06-11": "Dragon Boat Festival", + "2035-08-01": "Army Day", + "2035-09-15": "Mid-Autumn Festival", "2035-09-16": "Mid-Autumn Festival", + "2035-09-17": "Mid-Autumn Festival", "2035-10-01": "National Day", "2035-10-02": "National Day", "2035-10-03": "National Day", + "2035-10-04": "National Day", + "2035-10-05": "National Day", + "2035-10-06": "National Day", + "2035-10-07": "National Day", "2036-01-01": "New Year's Day", + "2036-01-27": "Chinese New Year (Spring Festival)", "2036-01-28": "Chinese New Year (Spring Festival)", "2036-01-29": "Chinese New Year (Spring Festival)", "2036-01-30": "Chinese New Year (Spring Festival)", + "2036-01-31": "Chinese New Year (Spring Festival)", + "2036-02-01": "Chinese New Year (Spring Festival)", + "2036-02-02": "Chinese New Year (Spring Festival)", + "2036-03-08": "International Women's Day", "2036-04-04": "Tomb-Sweeping Day", - "2036-05-01": "Labour Day", + "2036-04-05": "Tomb-Sweeping Day", + "2036-04-06": "Tomb-Sweeping Day", + "2036-05-01": "Labor Day", + "2036-05-02": "Labor Day", + "2036-05-03": "Labor Day", + "2036-05-04": "Labor Day; Youth Day", + "2036-05-05": "Labor Day", "2036-05-30": "Dragon Boat Festival", + "2036-05-31": "Dragon Boat Festival", + "2036-06-01": "Children's Day; Dragon Boat Festival", + "2036-08-01": "Army Day", "2036-10-01": "National Day", "2036-10-02": "National Day", "2036-10-03": "National Day", - "2036-10-04": "Mid-Autumn Festival", + "2036-10-04": "Mid-Autumn Festival; National Day", + "2036-10-05": "National Day", + "2036-10-06": "National Day", + "2036-10-07": "National Day", + "2036-10-08": "National Day", "2037-01-01": "New Year's Day", + "2037-01-02": "New Year's Day", + "2037-01-03": "New Year's Day", + "2037-02-14": "Chinese New Year (Spring Festival)", "2037-02-15": "Chinese New Year (Spring Festival)", "2037-02-16": "Chinese New Year (Spring Festival)", "2037-02-17": "Chinese New Year (Spring Festival)", + "2037-02-18": "Chinese New Year (Spring Festival)", + "2037-02-19": "Chinese New Year (Spring Festival)", + "2037-02-20": "Chinese New Year (Spring Festival)", + "2037-03-08": "International Women's Day", "2037-04-04": "Tomb-Sweeping Day", - "2037-05-01": "Labour Day", + "2037-04-05": "Tomb-Sweeping Day", + "2037-04-06": "Tomb-Sweeping Day", + "2037-05-01": "Labor Day", + "2037-05-02": "Labor Day", + "2037-05-03": "Labor Day", + "2037-05-04": "Labor Day; Youth Day", + "2037-05-05": "Labor Day", + "2037-06-01": "Children's Day", "2037-06-18": "Dragon Boat Festival", + "2037-06-19": "Dragon Boat Festival", + "2037-06-20": "Dragon Boat Festival", + "2037-08-01": "Army Day", "2037-09-24": "Mid-Autumn Festival", + "2037-09-25": "Mid-Autumn Festival", + "2037-09-26": "Mid-Autumn Festival", "2037-10-01": "National Day", "2037-10-02": "National Day", "2037-10-03": "National Day", + "2037-10-04": "National Day", + "2037-10-05": "National Day", + "2037-10-06": "National Day", + "2037-10-07": "National Day", "2038-01-01": "New Year's Day", + "2038-01-02": "New Year's Day", + "2038-01-03": "New Year's Day", + "2038-02-03": "Chinese New Year (Spring Festival)", "2038-02-04": "Chinese New Year (Spring Festival)", "2038-02-05": "Chinese New Year (Spring Festival)", "2038-02-06": "Chinese New Year (Spring Festival)", + "2038-02-07": "Chinese New Year (Spring Festival)", + "2038-02-08": "Chinese New Year (Spring Festival)", + "2038-02-09": "Chinese New Year (Spring Festival)", + "2038-03-08": "International Women's Day", + "2038-04-03": "Tomb-Sweeping Day", + "2038-04-04": "Tomb-Sweeping Day", "2038-04-05": "Tomb-Sweeping Day", - "2038-05-01": "Labour Day", + "2038-05-01": "Labor Day", + "2038-05-02": "Labor Day", + "2038-05-03": "Labor Day", + "2038-05-04": "Labor Day; Youth Day", + "2038-05-05": "Labor Day", + "2038-06-01": "Children's Day", + "2038-06-05": "Dragon Boat Festival", + "2038-06-06": "Dragon Boat Festival", "2038-06-07": "Dragon Boat Festival", + "2038-08-01": "Army Day", + "2038-09-11": "Mid-Autumn Festival", + "2038-09-12": "Mid-Autumn Festival", "2038-09-13": "Mid-Autumn Festival", "2038-10-01": "National Day", "2038-10-02": "National Day", "2038-10-03": "National Day", + "2038-10-04": "National Day", + "2038-10-05": "National Day", + "2038-10-06": "National Day", + "2038-10-07": "National Day", "2039-01-01": "New Year's Day", + "2039-01-02": "New Year's Day", + "2039-01-03": "New Year's Day", + "2039-01-23": "Chinese New Year (Spring Festival)", "2039-01-24": "Chinese New Year (Spring Festival)", "2039-01-25": "Chinese New Year (Spring Festival)", "2039-01-26": "Chinese New Year (Spring Festival)", + "2039-01-27": "Chinese New Year (Spring Festival)", + "2039-01-28": "Chinese New Year (Spring Festival)", + "2039-01-29": "Chinese New Year (Spring Festival)", + "2039-03-08": "International Women's Day", + "2039-04-03": "Tomb-Sweeping Day", + "2039-04-04": "Tomb-Sweeping Day", "2039-04-05": "Tomb-Sweeping Day", - "2039-05-01": "Labour Day", + "2039-04-30": "Labor Day", + "2039-05-01": "Labor Day", + "2039-05-02": "Labor Day", + "2039-05-03": "Labor Day", + "2039-05-04": "Labor Day; Youth Day", "2039-05-27": "Dragon Boat Festival", + "2039-05-28": "Dragon Boat Festival", + "2039-05-29": "Dragon Boat Festival", + "2039-06-01": "Children's Day", + "2039-08-01": "Army Day", "2039-10-01": "National Day", "2039-10-02": "Mid-Autumn Festival; National Day", "2039-10-03": "National Day", + "2039-10-04": "National Day", + "2039-10-05": "National Day", + "2039-10-06": "National Day", + "2039-10-07": "National Day", + "2039-10-08": "National Day", "2040-01-01": "New Year's Day", + "2040-01-02": "New Year's Day", + "2040-02-11": "Chinese New Year (Spring Festival)", "2040-02-12": "Chinese New Year (Spring Festival)", "2040-02-13": "Chinese New Year (Spring Festival)", "2040-02-14": "Chinese New Year (Spring Festival)", + "2040-02-15": "Chinese New Year (Spring Festival)", + "2040-02-16": "Chinese New Year (Spring Festival)", + "2040-02-17": "Chinese New Year (Spring Festival)", + "2040-03-08": "International Women's Day", + "2040-04-02": "Tomb-Sweeping Day", + "2040-04-03": "Tomb-Sweeping Day", "2040-04-04": "Tomb-Sweeping Day", - "2040-05-01": "Labour Day", + "2040-04-29": "Labor Day", + "2040-04-30": "Labor Day", + "2040-05-01": "Labor Day", + "2040-05-02": "Labor Day", + "2040-05-03": "Labor Day", + "2040-05-04": "Youth Day", + "2040-06-01": "Children's Day", "2040-06-14": "Dragon Boat Festival", + "2040-06-15": "Dragon Boat Festival", + "2040-06-16": "Dragon Boat Festival", + "2040-08-01": "Army Day", "2040-09-20": "Mid-Autumn Festival", + "2040-09-21": "Mid-Autumn Festival", + "2040-09-22": "Mid-Autumn Festival", "2040-10-01": "National Day", "2040-10-02": "National Day", "2040-10-03": "National Day", + "2040-10-04": "National Day", + "2040-10-05": "National Day", + "2040-10-06": "National Day", + "2040-10-07": "National Day", "2041-01-01": "New Year's Day", + "2041-01-31": "Chinese New Year (Spring Festival)", "2041-02-01": "Chinese New Year (Spring Festival)", "2041-02-02": "Chinese New Year (Spring Festival)", "2041-02-03": "Chinese New Year (Spring Festival)", + "2041-02-04": "Chinese New Year (Spring Festival)", + "2041-02-05": "Chinese New Year (Spring Festival)", + "2041-02-06": "Chinese New Year (Spring Festival)", + "2041-03-08": "International Women's Day", "2041-04-04": "Tomb-Sweeping Day", - "2041-05-01": "Labour Day", + "2041-04-05": "Tomb-Sweeping Day", + "2041-04-06": "Tomb-Sweeping Day", + "2041-04-29": "Labor Day", + "2041-04-30": "Labor Day", + "2041-05-01": "Labor Day", + "2041-05-02": "Labor Day", + "2041-05-03": "Labor Day", + "2041-05-04": "Youth Day", + "2041-06-01": "Children's Day; Dragon Boat Festival", + "2041-06-02": "Dragon Boat Festival", "2041-06-03": "Dragon Boat Festival", + "2041-08-01": "Army Day", + "2041-09-08": "Mid-Autumn Festival", + "2041-09-09": "Mid-Autumn Festival", "2041-09-10": "Mid-Autumn Festival", "2041-10-01": "National Day", "2041-10-02": "National Day", "2041-10-03": "National Day", + "2041-10-04": "National Day", + "2041-10-05": "National Day", + "2041-10-06": "National Day", + "2041-10-07": "National Day", "2042-01-01": "New Year's Day", + "2042-01-21": "Chinese New Year (Spring Festival)", "2042-01-22": "Chinese New Year (Spring Festival)", "2042-01-23": "Chinese New Year (Spring Festival)", "2042-01-24": "Chinese New Year (Spring Festival)", + "2042-01-25": "Chinese New Year (Spring Festival)", + "2042-01-26": "Chinese New Year (Spring Festival)", + "2042-01-27": "Chinese New Year (Spring Festival)", + "2042-03-08": "International Women's Day", "2042-04-05": "Tomb-Sweeping Day", - "2042-05-01": "Labour Day", + "2042-04-06": "Tomb-Sweeping Day", + "2042-04-07": "Tomb-Sweeping Day", + "2042-05-01": "Labor Day", + "2042-05-02": "Labor Day", + "2042-05-03": "Labor Day", + "2042-05-04": "Labor Day; Youth Day", + "2042-05-05": "Labor Day", + "2042-06-01": "Children's Day", + "2042-06-21": "Dragon Boat Festival", "2042-06-22": "Dragon Boat Festival", + "2042-06-23": "Dragon Boat Festival", + "2042-08-01": "Army Day", + "2042-09-27": "Mid-Autumn Festival", "2042-09-28": "Mid-Autumn Festival", + "2042-09-29": "Mid-Autumn Festival", "2042-10-01": "National Day", "2042-10-02": "National Day", "2042-10-03": "National Day", + "2042-10-04": "National Day", + "2042-10-05": "National Day", + "2042-10-06": "National Day", + "2042-10-07": "National Day", "2043-01-01": "New Year's Day", + "2043-01-02": "New Year's Day", + "2043-01-03": "New Year's Day", + "2043-02-09": "Chinese New Year (Spring Festival)", "2043-02-10": "Chinese New Year (Spring Festival)", "2043-02-11": "Chinese New Year (Spring Festival)", "2043-02-12": "Chinese New Year (Spring Festival)", + "2043-02-13": "Chinese New Year (Spring Festival)", + "2043-02-14": "Chinese New Year (Spring Festival)", + "2043-02-15": "Chinese New Year (Spring Festival)", + "2043-03-08": "International Women's Day", + "2043-04-04": "Tomb-Sweeping Day", "2043-04-05": "Tomb-Sweeping Day", - "2043-05-01": "Labour Day", + "2043-04-06": "Tomb-Sweeping Day", + "2043-05-01": "Labor Day", + "2043-05-02": "Labor Day", + "2043-05-03": "Labor Day", + "2043-05-04": "Labor Day; Youth Day", + "2043-05-05": "Labor Day", + "2043-06-01": "Children's Day", "2043-06-11": "Dragon Boat Festival", + "2043-06-12": "Dragon Boat Festival", + "2043-06-13": "Dragon Boat Festival", + "2043-08-01": "Army Day", "2043-09-17": "Mid-Autumn Festival", + "2043-09-18": "Mid-Autumn Festival", + "2043-09-19": "Mid-Autumn Festival", "2043-10-01": "National Day", "2043-10-02": "National Day", "2043-10-03": "National Day", + "2043-10-04": "National Day", + "2043-10-05": "National Day", + "2043-10-06": "National Day", + "2043-10-07": "National Day", "2044-01-01": "New Year's Day", + "2044-01-02": "New Year's Day", + "2044-01-03": "New Year's Day", + "2044-01-29": "Chinese New Year (Spring Festival)", "2044-01-30": "Chinese New Year (Spring Festival)", "2044-01-31": "Chinese New Year (Spring Festival)", "2044-02-01": "Chinese New Year (Spring Festival)", + "2044-02-02": "Chinese New Year (Spring Festival)", + "2044-02-03": "Chinese New Year (Spring Festival)", + "2044-02-04": "Chinese New Year (Spring Festival)", + "2044-03-08": "International Women's Day", + "2044-04-02": "Tomb-Sweeping Day", + "2044-04-03": "Tomb-Sweeping Day", "2044-04-04": "Tomb-Sweeping Day", - "2044-05-01": "Labour Day", + "2044-04-30": "Labor Day", + "2044-05-01": "Labor Day", + "2044-05-02": "Labor Day", + "2044-05-03": "Labor Day", + "2044-05-04": "Labor Day; Youth Day", + "2044-05-29": "Dragon Boat Festival", + "2044-05-30": "Dragon Boat Festival", "2044-05-31": "Dragon Boat Festival", + "2044-06-01": "Children's Day", + "2044-08-01": "Army Day", "2044-10-01": "National Day", "2044-10-02": "National Day", "2044-10-03": "National Day", - "2044-10-05": "Mid-Autumn Festival", + "2044-10-04": "National Day", + "2044-10-05": "Mid-Autumn Festival; National Day", + "2044-10-06": "National Day", + "2044-10-07": "National Day", + "2044-10-08": "National Day", "2045-01-01": "New Year's Day", + "2045-01-02": "New Year's Day", + "2045-02-16": "Chinese New Year (Spring Festival)", "2045-02-17": "Chinese New Year (Spring Festival)", "2045-02-18": "Chinese New Year (Spring Festival)", "2045-02-19": "Chinese New Year (Spring Festival)", + "2045-02-20": "Chinese New Year (Spring Festival)", + "2045-02-21": "Chinese New Year (Spring Festival)", + "2045-02-22": "Chinese New Year (Spring Festival)", + "2045-03-08": "International Women's Day", + "2045-04-02": "Tomb-Sweeping Day", + "2045-04-03": "Tomb-Sweeping Day", "2045-04-04": "Tomb-Sweeping Day", - "2045-05-01": "Labour Day", + "2045-04-29": "Labor Day", + "2045-04-30": "Labor Day", + "2045-05-01": "Labor Day", + "2045-05-02": "Labor Day", + "2045-05-03": "Labor Day", + "2045-05-04": "Youth Day", + "2045-06-01": "Children's Day", + "2045-06-17": "Dragon Boat Festival", + "2045-06-18": "Dragon Boat Festival", "2045-06-19": "Dragon Boat Festival", + "2045-08-01": "Army Day", + "2045-09-23": "Mid-Autumn Festival", + "2045-09-24": "Mid-Autumn Festival", "2045-09-25": "Mid-Autumn Festival", "2045-10-01": "National Day", "2045-10-02": "National Day", "2045-10-03": "National Day", + "2045-10-04": "National Day", + "2045-10-05": "National Day", + "2045-10-06": "National Day", + "2045-10-07": "National Day", "2046-01-01": "New Year's Day", + "2046-02-05": "Chinese New Year (Spring Festival)", "2046-02-06": "Chinese New Year (Spring Festival)", "2046-02-07": "Chinese New Year (Spring Festival)", "2046-02-08": "Chinese New Year (Spring Festival)", + "2046-02-09": "Chinese New Year (Spring Festival)", + "2046-02-10": "Chinese New Year (Spring Festival)", + "2046-02-11": "Chinese New Year (Spring Festival)", + "2046-03-08": "International Women's Day", "2046-04-05": "Tomb-Sweeping Day", - "2046-05-01": "Labour Day", + "2046-04-06": "Tomb-Sweeping Day", + "2046-04-07": "Tomb-Sweeping Day", + "2046-04-29": "Labor Day", + "2046-04-30": "Labor Day", + "2046-05-01": "Labor Day", + "2046-05-02": "Labor Day", + "2046-05-03": "Labor Day", + "2046-05-04": "Youth Day", + "2046-06-01": "Children's Day", "2046-06-08": "Dragon Boat Festival", + "2046-06-09": "Dragon Boat Festival", + "2046-06-10": "Dragon Boat Festival", + "2046-08-01": "Army Day", "2046-09-15": "Mid-Autumn Festival", + "2046-09-16": "Mid-Autumn Festival", + "2046-09-17": "Mid-Autumn Festival", "2046-10-01": "National Day", "2046-10-02": "National Day", "2046-10-03": "National Day", + "2046-10-04": "National Day", + "2046-10-05": "National Day", + "2046-10-06": "National Day", + "2046-10-07": "National Day", "2047-01-01": "New Year's Day", + "2047-01-25": "Chinese New Year (Spring Festival)", "2047-01-26": "Chinese New Year (Spring Festival)", "2047-01-27": "Chinese New Year (Spring Festival)", "2047-01-28": "Chinese New Year (Spring Festival)", + "2047-01-29": "Chinese New Year (Spring Festival)", + "2047-01-30": "Chinese New Year (Spring Festival)", + "2047-01-31": "Chinese New Year (Spring Festival)", + "2047-03-08": "International Women's Day", "2047-04-05": "Tomb-Sweeping Day", - "2047-05-01": "Labour Day", + "2047-04-06": "Tomb-Sweeping Day", + "2047-04-07": "Tomb-Sweeping Day", + "2047-04-29": "Labor Day", + "2047-04-30": "Labor Day", + "2047-05-01": "Labor Day", + "2047-05-02": "Labor Day", + "2047-05-03": "Labor Day", + "2047-05-04": "Youth Day", + "2047-05-27": "Dragon Boat Festival", + "2047-05-28": "Dragon Boat Festival", "2047-05-29": "Dragon Boat Festival", + "2047-06-01": "Children's Day", + "2047-08-01": "Army Day", "2047-10-01": "National Day", "2047-10-02": "National Day", "2047-10-03": "National Day", - "2047-10-04": "Mid-Autumn Festival", + "2047-10-04": "Mid-Autumn Festival; National Day", + "2047-10-05": "National Day", + "2047-10-06": "National Day", + "2047-10-07": "National Day", + "2047-10-08": "National Day", "2048-01-01": "New Year's Day", + "2048-02-13": "Chinese New Year (Spring Festival)", "2048-02-14": "Chinese New Year (Spring Festival)", "2048-02-15": "Chinese New Year (Spring Festival)", "2048-02-16": "Chinese New Year (Spring Festival)", + "2048-02-17": "Chinese New Year (Spring Festival)", + "2048-02-18": "Chinese New Year (Spring Festival)", + "2048-02-19": "Chinese New Year (Spring Festival)", + "2048-03-08": "International Women's Day", "2048-04-04": "Tomb-Sweeping Day", - "2048-05-01": "Labour Day", + "2048-04-05": "Tomb-Sweeping Day", + "2048-04-06": "Tomb-Sweeping Day", + "2048-05-01": "Labor Day", + "2048-05-02": "Labor Day", + "2048-05-03": "Labor Day", + "2048-05-04": "Labor Day; Youth Day", + "2048-05-05": "Labor Day", + "2048-06-01": "Children's Day", + "2048-06-13": "Dragon Boat Festival", + "2048-06-14": "Dragon Boat Festival", "2048-06-15": "Dragon Boat Festival", + "2048-08-01": "Army Day", + "2048-09-20": "Mid-Autumn Festival", + "2048-09-21": "Mid-Autumn Festival", "2048-09-22": "Mid-Autumn Festival", "2048-10-01": "National Day", "2048-10-02": "National Day", "2048-10-03": "National Day", + "2048-10-04": "National Day", + "2048-10-05": "National Day", + "2048-10-06": "National Day", + "2048-10-07": "National Day", "2049-01-01": "New Year's Day", + "2049-01-02": "New Year's Day", + "2049-01-03": "New Year's Day", + "2049-02-01": "Chinese New Year (Spring Festival)", "2049-02-02": "Chinese New Year (Spring Festival)", "2049-02-03": "Chinese New Year (Spring Festival)", "2049-02-04": "Chinese New Year (Spring Festival)", + "2049-02-05": "Chinese New Year (Spring Festival)", + "2049-02-06": "Chinese New Year (Spring Festival)", + "2049-02-07": "Chinese New Year (Spring Festival)", + "2049-03-08": "International Women's Day", + "2049-04-03": "Tomb-Sweeping Day", "2049-04-04": "Tomb-Sweeping Day", - "2049-05-01": "Labour Day", + "2049-04-05": "Tomb-Sweeping Day", + "2049-05-01": "Labor Day", + "2049-05-02": "Labor Day", + "2049-05-03": "Labor Day", + "2049-05-04": "Labor Day; Youth Day", + "2049-05-05": "Labor Day", + "2049-06-01": "Children's Day", "2049-06-04": "Dragon Boat Festival", + "2049-06-05": "Dragon Boat Festival", + "2049-06-06": "Dragon Boat Festival", + "2049-08-01": "Army Day", "2049-09-11": "Mid-Autumn Festival", + "2049-09-12": "Mid-Autumn Festival", + "2049-09-13": "Mid-Autumn Festival", "2049-10-01": "National Day", "2049-10-02": "National Day", "2049-10-03": "National Day", + "2049-10-04": "National Day", + "2049-10-05": "National Day", + "2049-10-06": "National Day", + "2049-10-07": "National Day", "2050-01-01": "New Year's Day", + "2050-01-02": "New Year's Day", + "2050-01-03": "New Year's Day", + "2050-01-22": "Chinese New Year (Spring Festival)", "2050-01-23": "Chinese New Year (Spring Festival)", "2050-01-24": "Chinese New Year (Spring Festival)", "2050-01-25": "Chinese New Year (Spring Festival)", + "2050-01-26": "Chinese New Year (Spring Festival)", + "2050-01-27": "Chinese New Year (Spring Festival)", + "2050-01-28": "Chinese New Year (Spring Festival)", + "2050-03-08": "International Women's Day", + "2050-04-03": "Tomb-Sweeping Day", + "2050-04-04": "Tomb-Sweeping Day", "2050-04-05": "Tomb-Sweeping Day", - "2050-05-01": "Labour Day", + "2050-04-30": "Labor Day", + "2050-05-01": "Labor Day", + "2050-05-02": "Labor Day", + "2050-05-03": "Labor Day", + "2050-05-04": "Labor Day; Youth Day", + "2050-06-01": "Children's Day", "2050-06-23": "Dragon Boat Festival", + "2050-06-24": "Dragon Boat Festival", + "2050-06-25": "Dragon Boat Festival", + "2050-08-01": "Army Day", "2050-09-30": "Mid-Autumn Festival", "2050-10-01": "National Day", "2050-10-02": "National Day", - "2050-10-03": "National Day" + "2050-10-03": "National Day", + "2050-10-04": "National Day", + "2050-10-05": "National Day", + "2050-10-06": "National Day", + "2050-10-07": "National Day" } diff --git a/tests/countries/test_china.py b/tests/countries/test_china.py index f785b437a..0e63139f6 100644 --- a/tests/countries/test_china.py +++ b/tests/countries/test_china.py @@ -9,93 +9,970 @@ # Website: https://github.com/dr-prodigy/python-holidays # License: MIT (see LICENSE file) -import unittest -from datetime import date - -import holidays - - -class TestChina(unittest.TestCase): - # https: // en.wikipedia.org / wiki / Public_holidays_in_China - def setUp(self): - self.holidays = holidays.CN() - - def test_1950(self): - self.assertIn(date(1950, 1, 1), self.holidays) # New Year's Day - # Chinese New Year day 1 - self.assertIn(date(1950, 2, 17), self.holidays) - # Chinese New Year day 2 - self.assertIn(date(1950, 2, 18), self.holidays) - # Chinese New Year day 3 - self.assertIn(date(1950, 2, 19), self.holidays) - # Labour Day day 1 - self.assertIn(date(1950, 5, 1), self.holidays) - # NO Labour Day day 2 - self.assertNotIn(date(1950, 5, 2), self.holidays) - # NO Labour Day day 3 - self.assertNotIn(date(1950, 5, 3), self.holidays) - # NO Dragon Boat Festival - self.assertNotIn(date(1950, 6, 19), self.holidays) - # NO Mid-Autumn Festival - self.assertNotIn(date(1950, 9, 26), self.holidays) - self.assertIn(date(1950, 10, 1), self.holidays) # National Day day 1 - self.assertIn(date(1950, 10, 2), self.holidays) # National Day day 2 - # NO National Day day 3 - self.assertNotIn(date(1950, 10, 3), self.holidays) - - def test_2005(self): - # New Year's Day - self.assertIn(date(2005, 1, 1), self.holidays) - # Chinese New Year day 1 - self.assertIn(date(2005, 2, 9), self.holidays) - # Chinese New Year day 2 - self.assertIn(date(2005, 2, 10), self.holidays) - # Chinese New Year day 3 - self.assertIn(date(2005, 2, 11), self.holidays) - # NO Tomb-Sweeping Day - self.assertNotIn(date(2005, 4, 5), self.holidays) - # Labour Day day 1 - self.assertIn(date(2005, 5, 1), self.holidays) - # Labour Day day 2 - self.assertIn(date(2005, 5, 2), self.holidays) - # Labour Day day 3 - self.assertIn(date(2005, 5, 3), self.holidays) - self.assertNotIn(date(2005, 6, 11), self.holidays) # NO Dragon Boat Festival - # NO Mid-Autumn Festival - self.assertNotIn(date(2005, 9, 18), self.holidays) - # National Day day 1 - self.assertIn(date(2005, 10, 1), self.holidays) - # National Day day 2 - self.assertIn(date(2005, 10, 2), self.holidays) - # National Day day 3 - self.assertIn(date(2005, 10, 3), self.holidays) - - def test_chinese_new_year_2010(self): - self.assertIn(date(2010, 2, 13), self.holidays) - self.assertIn(date(2010, 2, 14), self.holidays) - self.assertIn(date(2010, 2, 15), self.holidays) - - def test_2015(self): - # New Year's Day - self.assertIn(date(2015, 1, 1), self.holidays) - # Chinese New Year day 1 - self.assertIn(date(2015, 2, 19), self.holidays) # Chinese New Year day 2 - self.assertIn(date(2015, 2, 20), self.holidays) - # Chinese New Year day 3 - self.assertIn(date(2015, 2, 21), self.holidays) - # Tomb-Sweeping Day - self.assertIn(date(2015, 4, 5), self.holidays) - # Labour Day - self.assertIn(date(2015, 5, 1), self.holidays) - # NO Labour Day day 2 - self.assertNotIn(date(2015, 5, 2), self.holidays) - # NO Labour Day day 3 - self.assertNotIn(date(2015, 5, 3), self.holidays) - self.assertIn(date(2015, 6, 20), self.holidays) # Dragon Boat Festival - self.assertIn(date(2015, 9, 27), self.holidays) # Mid-Autumn Festival - self.assertIn(date(2015, 10, 1), self.holidays) # National Day day 1 - self.assertIn(date(2015, 10, 2), self.holidays) # National Day day 2 - self.assertIn(date(2015, 10, 3), self.holidays) # National Day day 3 - - def test_pre_1950(self): - self.assertNotIn(date(1949, 1, 1), self.holidays) +from holidays.constants import HALF_DAY, PUBLIC +from holidays.countries.china import China, CN, CHN +from tests.common import TestCase + + +class TestChina(TestCase): + @classmethod + def setUpClass(cls): + super().setUpClass(China, years=range(1950, 2051)) + + def test_country_aliases(self): + self.assertCountryAliases(China, CN, CHN) + + def test_no_holidays(self): + self.assertNoHolidays(China(years=1949)) + self.assertNoHolidays(China(years=1949, categories=(HALF_DAY,))) + + def test_national_day(self): + name = "国庆节" + for year in range(1950, 1999): + self.assertHolidayName(name, (f"{year}-10-01", f"{year}-10-02")) + for year in range(1999, 2051): + self.assertHolidayName(name, (f"{year}-10-01", f"{year}-10-02", f"{year}-10-03")) + + self.assertNoNonObservedHoliday( + "2020-10-04", + "2020-10-05", + "2020-10-06", + "2020-10-07", + "2020-10-08", + "2021-10-04", + "2021-10-05", + "2021-10-06", + "2021-10-07", + "2022-10-04", + "2022-10-05", + "2022-10-06", + "2022-10-07", + "2023-09-30", + "2023-10-04", + "2023-10-05", + "2023-10-06", + ) + + def test_1950_public_holiday(self): + self.assertHolidays( + China(categories=(PUBLIC,), years=1950), + ("1950-01-01", "元旦"), + ("1950-02-17", "春节"), + ("1950-02-18", "春节"), + ("1950-02-19", "春节"), + ("1950-05-01", "劳动节"), + ("1950-10-01", "国庆节"), + ("1950-10-02", "国庆节"), + ) + + def test_1999_public_holiday(self): + self.assertHolidays( + China(categories=(PUBLIC,), years=1999), + ("1999-01-01", "元旦"), + ("1999-02-16", "春节"), + ("1999-02-17", "春节"), + ("1999-02-18", "春节"), + ("1999-05-01", "劳动节"), + ("1999-10-01", "国庆节"), + ("1999-10-02", "国庆节"), + ("1999-10-03", "国庆节"), + ) + + def test_2001_public_holiday(self): + # https://zh.wikisource.org/wiki/国务院办公厅关于2001年春节、“五一”、“十一”放假安排的通知 + self.assertHolidays( + China(categories=(PUBLIC,), years=2001), + # New Year is not listed, but should be there according to 1999 revision. + ("2001-01-01", "元旦"), + ("2001-01-24", "春节"), + ("2001-01-25", "春节"), + ("2001-01-26", "春节"), + ("2001-01-27", "春节"), + ("2001-01-28", "春节"), + ("2001-01-29", "春节"), + ("2001-01-30", "春节"), + ("2001-05-01", "劳动节"), + ("2001-05-02", "劳动节"), + ("2001-05-03", "劳动节"), + ("2001-05-04", "劳动节"), + ("2001-05-05", "劳动节"), + ("2001-05-06", "劳动节"), + ("2001-05-07", "劳动节"), + ("2001-10-01", "国庆节"), + ("2001-10-02", "国庆节"), + ("2001-10-03", "国庆节"), + ("2001-10-04", "国庆节"), + ("2001-10-05", "国庆节"), + ("2001-10-06", "国庆节"), + ("2001-10-07", "国庆节"), + ) + + def test_2002_public_holiday(self): + # https://zh.wikisource.org/wiki/国务院办公厅关于2002年部分节假日休息安排的通知 + self.assertHolidays( + China(categories=(PUBLIC,), years=2002), + ("2002-01-01", "元旦"), + ("2002-01-02", "元旦"), + ("2002-01-03", "元旦"), + ("2002-02-12", "春节"), + ("2002-02-13", "春节"), + ("2002-02-14", "春节"), + ("2002-02-15", "春节"), + ("2002-02-16", "春节"), + ("2002-02-17", "春节"), + ("2002-02-18", "春节"), + ("2002-05-01", "劳动节"), + ("2002-05-02", "劳动节"), + ("2002-05-03", "劳动节"), + ("2002-05-04", "劳动节"), + ("2002-05-05", "劳动节"), + ("2002-05-06", "劳动节"), + ("2002-05-07", "劳动节"), + ("2002-10-01", "国庆节"), + ("2002-10-02", "国庆节"), + ("2002-10-03", "国庆节"), + ("2002-10-04", "国庆节"), + ("2002-10-05", "国庆节"), + ("2002-10-06", "国庆节"), + ("2002-10-07", "国庆节"), + ) + + def test_2003_public_holiday(self): + # https://zh.wikisource.org/wiki/国务院办公厅关于2003年部分节假日休息安排的通知 + self.assertHolidays( + China(categories=(PUBLIC,), years=2003), + ("2003-01-01", "元旦"), + ("2003-02-01", "春节"), + ("2003-02-02", "春节"), + ("2003-02-03", "春节"), + ("2003-02-04", "春节"), + ("2003-02-05", "春节"), + ("2003-02-06", "春节"), + ("2003-02-07", "春节"), + ("2003-05-01", "劳动节"), + ("2003-05-02", "劳动节"), + ("2003-05-03", "劳动节"), + ("2003-05-04", "劳动节"), + ("2003-05-05", "劳动节"), + ("2003-05-06", "劳动节"), + ("2003-05-07", "劳动节"), + ("2003-10-01", "国庆节"), + ("2003-10-02", "国庆节"), + ("2003-10-03", "国庆节"), + ("2003-10-04", "国庆节"), + ("2003-10-05", "国庆节"), + ("2003-10-06", "国庆节"), + ("2003-10-07", "国庆节"), + ) + + def test_2004_public_holiday(self): + # https://zh.wikisource.org/wiki/国务院办公厅关于2004年部分节假日安排的通知 + self.assertHolidays( + China(categories=(PUBLIC,), years=2004), + ("2004-01-01", "元旦"), + ("2004-01-22", "春节"), + ("2004-01-23", "春节"), + ("2004-01-24", "春节"), + ("2004-01-25", "春节"), + ("2004-01-26", "春节"), + ("2004-01-27", "春节"), + ("2004-01-28", "春节"), + ("2004-05-01", "劳动节"), + ("2004-05-02", "劳动节"), + ("2004-05-03", "劳动节"), + ("2004-05-04", "劳动节"), + ("2004-05-05", "劳动节"), + ("2004-05-06", "劳动节"), + ("2004-05-07", "劳动节"), + ("2004-10-01", "国庆节"), + ("2004-10-02", "国庆节"), + ("2004-10-03", "国庆节"), + ("2004-10-04", "国庆节"), + ("2004-10-05", "国庆节"), + ("2004-10-06", "国庆节"), + ("2004-10-07", "国庆节"), + ) + + def test_2005_public_holiday(self): + # https://zh.wikisource.org/wiki/国务院办公厅关于2005年部分节假日安排的通知 + self.assertHolidays( + China(categories=(PUBLIC,), years=2005), + ("2005-01-01", "元旦"), + ("2005-01-02", "元旦"), + ("2005-01-03", "元旦"), + ("2005-02-09", "春节"), + ("2005-02-10", "春节"), + ("2005-02-11", "春节"), + ("2005-02-12", "春节"), + ("2005-02-13", "春节"), + ("2005-02-14", "春节"), + ("2005-02-15", "春节"), + ("2005-05-01", "劳动节"), + ("2005-05-02", "劳动节"), + ("2005-05-03", "劳动节"), + ("2005-05-04", "劳动节"), + ("2005-05-05", "劳动节"), + ("2005-05-06", "劳动节"), + ("2005-05-07", "劳动节"), + ("2005-10-01", "国庆节"), + ("2005-10-02", "国庆节"), + ("2005-10-03", "国庆节"), + ("2005-10-04", "国庆节"), + ("2005-10-05", "国庆节"), + ("2005-10-06", "国庆节"), + ("2005-10-07", "国庆节"), + ) + + def test_2006_public_holiday(self): + # https://zh.wikisource.org/wiki/国务院办公厅关于2006年部分节假日安排的通知 + self.assertHolidays( + China(categories=(PUBLIC,), years=2006), + ("2006-01-01", "元旦"), + ("2006-01-02", "元旦"), + ("2006-01-03", "元旦"), + ("2006-01-29", "春节"), + ("2006-01-30", "春节"), + ("2006-01-31", "春节"), + ("2006-02-01", "春节"), + ("2006-02-02", "春节"), + ("2006-02-03", "春节"), + ("2006-02-04", "春节"), + ("2006-05-01", "劳动节"), + ("2006-05-02", "劳动节"), + ("2006-05-03", "劳动节"), + ("2006-05-04", "劳动节"), + ("2006-05-05", "劳动节"), + ("2006-05-06", "劳动节"), + ("2006-05-07", "劳动节"), + ("2006-10-01", "国庆节"), + ("2006-10-02", "国庆节"), + ("2006-10-03", "国庆节"), + ("2006-10-04", "国庆节"), + ("2006-10-05", "国庆节"), + ("2006-10-06", "国庆节"), + ("2006-10-07", "国庆节"), + ) + + def test_2007_public_holiday(self): + # https://www.gov.cn/gongbao/content/2007/content_503397.htm + self.assertHolidays( + China(categories=(PUBLIC,), years=2007), + ("2007-01-01", "元旦"), + ("2007-01-02", "元旦"), + ("2007-01-03", "元旦"), + ("2007-02-18", "春节"), + ("2007-02-19", "春节"), + ("2007-02-20", "春节"), + ("2007-02-21", "春节"), + ("2007-02-22", "春节"), + ("2007-02-23", "春节"), + ("2007-02-24", "春节"), + ("2007-05-01", "劳动节"), + ("2007-05-02", "劳动节"), + ("2007-05-03", "劳动节"), + ("2007-05-04", "劳动节"), + ("2007-05-05", "劳动节"), + ("2007-05-06", "劳动节"), + ("2007-05-07", "劳动节"), + ("2007-10-01", "国庆节"), + ("2007-10-02", "国庆节"), + ("2007-10-03", "国庆节"), + ("2007-10-04", "国庆节"), + ("2007-10-05", "国庆节"), + ("2007-10-06", "国庆节"), + ("2007-10-07", "国庆节"), + # From 2008 Notice. + ("2007-12-30", "元旦"), + ("2007-12-31", "元旦"), + ) + + def test_2008_public_holiday(self): + # https://www.gov.cn/gongbao/content/2008/content_859870.htm + self.assertHolidays( + China(categories=(PUBLIC,), years=2008), + ("2008-01-01", "元旦"), + ("2008-02-06", "春节"), + ("2008-02-07", "春节"), + ("2008-02-08", "春节"), + ("2008-02-09", "春节"), + ("2008-02-10", "春节"), + ("2008-02-11", "春节"), + ("2008-02-12", "春节"), + ("2008-04-04", "清明节"), + ("2008-04-05", "清明节"), + ("2008-04-06", "清明节"), + ("2008-05-01", "劳动节"), + ("2008-05-02", "劳动节"), + ("2008-05-03", "劳动节"), + ("2008-06-07", "端午节"), + ("2008-06-08", "端午节"), + ("2008-06-09", "端午节"), + ("2008-09-13", "中秋节"), + ("2008-09-14", "中秋节"), + ("2008-09-15", "中秋节"), + ("2008-09-29", "国庆节"), + ("2008-09-30", "国庆节"), + ("2008-10-01", "国庆节"), + ("2008-10-02", "国庆节"), + ("2008-10-03", "国庆节"), + ("2008-10-04", "国庆节"), + ("2008-10-05", "国庆节"), + ) + + def test_2009_public_holiday(self): + # https://www.gov.cn/gongbao/content/2008/content_1175823.htm + self.assertHolidays( + China(categories=(PUBLIC,), years=2009), + ("2009-01-01", "元旦"), + ("2009-01-02", "元旦"), + ("2009-01-03", "元旦"), + ("2009-01-25", "春节"), + ("2009-01-26", "春节"), + ("2009-01-27", "春节"), + ("2009-01-28", "春节"), + ("2009-01-29", "春节"), + ("2009-01-30", "春节"), + ("2009-01-31", "春节"), + ("2009-04-04", "清明节"), + ("2009-04-05", "清明节"), + ("2009-04-06", "清明节"), + ("2009-05-01", "劳动节"), + ("2009-05-02", "劳动节"), + ("2009-05-03", "劳动节"), + ("2009-05-28", "端午节"), + ("2009-05-29", "端午节"), + ("2009-05-30", "端午节"), + ("2009-10-01", "国庆节"), + ("2009-10-02", "国庆节"), + ("2009-10-03", "中秋节; 国庆节"), + ("2009-10-04", "国庆节"), + ("2009-10-05", "国庆节"), + ("2009-10-06", "国庆节"), + ("2009-10-07", "国庆节"), + ("2009-10-08", "国庆节"), + ) + + def test_2010_public_holiday(self): + # https://www.gov.cn/gongbao/content/2009/content_1487011.htm + self.assertHolidays( + China(categories=(PUBLIC,), years=2010), + ("2010-01-01", "元旦"), + ("2010-01-02", "元旦"), + ("2010-01-03", "元旦"), + ("2010-02-13", "春节"), + ("2010-02-14", "春节"), + ("2010-02-15", "春节"), + ("2010-02-16", "春节"), + ("2010-02-17", "春节"), + ("2010-02-18", "春节"), + ("2010-02-19", "春节"), + ("2010-04-03", "清明节"), + ("2010-04-04", "清明节"), + ("2010-04-05", "清明节"), + ("2010-05-01", "劳动节"), + ("2010-05-02", "劳动节"), + ("2010-05-03", "劳动节"), + ("2010-06-14", "端午节"), + ("2010-06-15", "端午节"), + ("2010-06-16", "端午节"), + ("2010-09-22", "中秋节"), + ("2010-09-23", "中秋节"), + ("2010-09-24", "中秋节"), + ("2010-10-01", "国庆节"), + ("2010-10-02", "国庆节"), + ("2010-10-03", "国庆节"), + ("2010-10-04", "国庆节"), + ("2010-10-05", "国庆节"), + ("2010-10-06", "国庆节"), + ("2010-10-07", "国庆节"), + ) + + def test_2011_public_holiday(self): + # https://www.gov.cn/gongbao/content/2010/content_1765282.htm + self.assertHolidays( + China(categories=(PUBLIC,), years=2011), + ("2011-01-01", "元旦"), + ("2011-01-02", "元旦"), + ("2011-01-03", "元旦"), + ("2011-02-02", "春节"), + ("2011-02-03", "春节"), + ("2011-02-04", "春节"), + ("2011-02-05", "春节"), + ("2011-02-06", "春节"), + ("2011-02-07", "春节"), + ("2011-02-08", "春节"), + ("2011-04-03", "清明节"), + ("2011-04-04", "清明节"), + ("2011-04-05", "清明节"), + ("2011-04-30", "劳动节"), + ("2011-05-01", "劳动节"), + ("2011-05-02", "劳动节"), + ("2011-06-04", "端午节"), + ("2011-06-05", "端午节"), + ("2011-06-06", "端午节"), + ("2011-09-10", "中秋节"), + ("2011-09-11", "中秋节"), + ("2011-09-12", "中秋节"), + ("2011-10-01", "国庆节"), + ("2011-10-02", "国庆节"), + ("2011-10-03", "国庆节"), + ("2011-10-04", "国庆节"), + ("2011-10-05", "国庆节"), + ("2011-10-06", "国庆节"), + ("2011-10-07", "国庆节"), + ) + + def test_2012_public_holiday(self): + # https://www.gov.cn/gongbao/content/2011/content_2020918.htm + self.assertHolidays( + China(categories=(PUBLIC,), years=2012), + ("2012-01-01", "元旦"), + ("2012-01-02", "元旦"), + ("2012-01-03", "元旦"), + ("2012-01-22", "春节"), + ("2012-01-23", "春节"), + ("2012-01-24", "春节"), + ("2012-01-25", "春节"), + ("2012-01-26", "春节"), + ("2012-01-27", "春节"), + ("2012-01-28", "春节"), + ("2012-04-02", "清明节"), + ("2012-04-03", "清明节"), + ("2012-04-04", "清明节"), + ("2012-04-29", "劳动节"), + ("2012-04-30", "劳动节"), + ("2012-05-01", "劳动节"), + ("2012-06-22", "端午节"), + ("2012-06-23", "端午节"), + ("2012-06-24", "端午节"), + ("2012-09-30", "中秋节"), + ("2012-10-01", "国庆节"), + ("2012-10-02", "国庆节"), + ("2012-10-03", "国庆节"), + ("2012-10-04", "国庆节"), + ("2012-10-05", "国庆节"), + ("2012-10-06", "国庆节"), + ("2012-10-07", "国庆节"), + ) + + def test_2013_public_holiday(self): + # https://www.gov.cn/gongbao/content/2012/content_2292057.htm + self.assertHolidays( + China(categories=(PUBLIC,), years=2013), + ("2013-01-01", "元旦"), + ("2013-01-02", "元旦"), + ("2013-01-03", "元旦"), + ("2013-02-09", "春节"), + ("2013-02-10", "春节"), + ("2013-02-11", "春节"), + ("2013-02-12", "春节"), + ("2013-02-13", "春节"), + ("2013-02-14", "春节"), + ("2013-02-15", "春节"), + ("2013-04-04", "清明节"), + ("2013-04-05", "清明节"), + ("2013-04-06", "清明节"), + ("2013-04-29", "劳动节"), + ("2013-04-30", "劳动节"), + ("2013-05-01", "劳动节"), + ("2013-06-10", "端午节"), + ("2013-06-11", "端午节"), + ("2013-06-12", "端午节"), + ("2013-09-19", "中秋节"), + ("2013-09-20", "中秋节"), + ("2013-09-21", "中秋节"), + ("2013-10-01", "国庆节"), + ("2013-10-02", "国庆节"), + ("2013-10-03", "国庆节"), + ("2013-10-04", "国庆节"), + ("2013-10-05", "国庆节"), + ("2013-10-06", "国庆节"), + ("2013-10-07", "国庆节"), + ) + + def test_2014_public_holiday(self): + # https://www.gov.cn/gongbao/content/2014/content_2561299.htm + self.assertHolidays( + China(categories=(PUBLIC,), years=2014), + ("2014-01-01", "元旦"), + ("2014-01-31", "春节"), + ("2014-02-01", "春节"), + ("2014-02-02", "春节"), + ("2014-02-03", "春节"), + ("2014-02-04", "春节"), + ("2014-02-05", "春节"), + ("2014-02-06", "春节"), + ("2014-04-05", "清明节"), + ("2014-05-01", "劳动节"), + ("2014-05-02", "劳动节"), + ("2014-05-03", "劳动节"), + ("2014-06-02", "端午节"), + ("2014-09-08", "中秋节"), + ("2014-10-01", "国庆节"), + ("2014-10-02", "国庆节"), + ("2014-10-03", "国庆节"), + ("2014-10-04", "国庆节"), + ("2014-10-05", "国庆节"), + ("2014-10-06", "国庆节"), + ("2014-10-07", "国庆节"), + ) + + def test_2015_public_holiday(self): + # https://www.gov.cn/gongbao/content/2015/content_2799019.htm + self.assertHolidays( + China(categories=(PUBLIC,), years=2015), + ("2015-01-01", "元旦"), + ("2015-01-02", "元旦"), + ("2015-01-03", "元旦"), + ("2015-02-18", "春节"), + ("2015-02-19", "春节"), + ("2015-02-20", "春节"), + ("2015-02-21", "春节"), + ("2015-02-22", "春节"), + ("2015-02-23", "春节"), + ("2015-02-24", "春节"), + ("2015-04-05", "清明节"), + ("2015-05-01", "劳动节"), + ("2015-06-20", "端午节"), + ("2015-09-27", "中秋节"), + ("2015-10-01", "国庆节"), + ("2015-10-02", "国庆节"), + ("2015-10-03", "国庆节"), + ("2015-10-04", "国庆节"), + ("2015-10-05", "国庆节"), + ("2015-10-06", "国庆节"), + ("2015-10-07", "国庆节"), + ) + + def test_2016_public_holiday(self): + # https://www.gov.cn/gongbao/content/2016/content_2979719.htm + self.assertHolidays( + China(categories=(PUBLIC,), years=2016), + ("2016-01-01", "元旦"), + ("2016-02-07", "春节"), + ("2016-02-08", "春节"), + ("2016-02-09", "春节"), + ("2016-02-10", "春节"), + ("2016-02-11", "春节"), + ("2016-02-12", "春节"), + ("2016-02-13", "春节"), + ("2016-04-04", "清明节"), + ("2016-05-01", "劳动节"), + ("2016-06-09", "端午节"), + ("2016-06-10", "端午节"), + ("2016-06-11", "端午节"), + ("2016-09-15", "中秋节"), + ("2016-09-16", "中秋节"), + ("2016-09-17", "中秋节"), + ("2016-10-01", "国庆节"), + ("2016-10-02", "国庆节"), + ("2016-10-03", "国庆节"), + ("2016-10-04", "国庆节"), + ("2016-10-05", "国庆节"), + ("2016-10-06", "国庆节"), + ("2016-10-07", "国庆节"), + ) + + def test_2017_public_holiday(self): + # https://www.gov.cn/gongbao/content/2016/content_5148793.htm + self.assertHolidays( + China(categories=(PUBLIC,), years=2017), + ("2017-01-01", "元旦"), + ("2017-01-27", "春节"), + ("2017-01-28", "春节"), + ("2017-01-29", "春节"), + ("2017-01-30", "春节"), + ("2017-01-31", "春节"), + ("2017-02-01", "春节"), + ("2017-02-02", "春节"), + ("2017-04-02", "清明节"), + ("2017-04-03", "清明节"), + ("2017-04-04", "清明节"), + ("2017-05-01", "劳动节"), + ("2017-05-28", "端午节"), + ("2017-05-29", "端午节"), + ("2017-05-30", "端午节"), + ("2017-10-01", "国庆节"), + ("2017-10-02", "国庆节"), + ("2017-10-03", "国庆节"), + ("2017-10-04", "中秋节; 国庆节"), + ("2017-10-05", "国庆节"), + ("2017-10-06", "国庆节"), + ("2017-10-07", "国庆节"), + ("2017-10-08", "国庆节"), + ) + + def test_2018_public_holiday(self): + # https://www.gov.cn/gongbao/content/2017/content_5248221.htm + self.assertHolidays( + China(categories=(PUBLIC,), years=2018), + ("2018-01-01", "元旦"), + ("2018-02-15", "春节"), + ("2018-02-16", "春节"), + ("2018-02-17", "春节"), + ("2018-02-18", "春节"), + ("2018-02-19", "春节"), + ("2018-02-20", "春节"), + ("2018-02-21", "春节"), + ("2018-04-05", "清明节"), + ("2018-04-06", "清明节"), + ("2018-04-07", "清明节"), + ("2018-04-29", "劳动节"), + ("2018-04-30", "劳动节"), + ("2018-05-01", "劳动节"), + ("2018-06-18", "端午节"), + ("2018-09-24", "中秋节"), + ("2018-10-01", "国庆节"), + ("2018-10-02", "国庆节"), + ("2018-10-03", "国庆节"), + ("2018-10-04", "国庆节"), + ("2018-10-05", "国庆节"), + ("2018-10-06", "国庆节"), + ("2018-10-07", "国庆节"), + # From 2019 Notice. + ("2018-12-30", "元旦"), + ("2018-12-31", "元旦"), + ) + + def test_2019_public_holiday(self): + # https://www.gov.cn/gongbao/content/2018/content_5350046.htm + self.assertHolidays( + China(categories=(PUBLIC,), years=2019), + ("2019-01-01", "元旦"), + ("2019-02-04", "春节"), + ("2019-02-05", "春节"), + ("2019-02-06", "春节"), + ("2019-02-07", "春节"), + ("2019-02-08", "春节"), + ("2019-02-09", "春节"), + ("2019-02-10", "春节"), + ("2019-04-05", "清明节"), + ("2019-05-01", "劳动节"), + ("2019-06-07", "端午节"), + ("2019-09-13", "中秋节"), + ("2019-10-01", "国庆节"), + ("2019-10-02", "国庆节"), + ("2019-10-03", "国庆节"), + ("2019-10-04", "国庆节"), + ("2019-10-05", "国庆节"), + ("2019-10-06", "国庆节"), + ("2019-10-07", "国庆节"), + ) + + def test_2020_public_holiday(self): + # https://www.gov.cn/gongbao/content/2019/content_5459138.htm + self.assertHolidays( + China(categories=(PUBLIC,), years=2020), + ("2020-01-01", "元旦"), + ("2020-01-24", "春节"), + ("2020-01-25", "春节"), + ("2020-01-26", "春节"), + ("2020-01-27", "春节"), + ("2020-01-28", "春节"), + ("2020-01-29", "春节"), + ("2020-01-30", "春节"), + ("2020-04-04", "清明节"), + ("2020-04-05", "清明节"), + ("2020-04-06", "清明节"), + ("2020-05-01", "劳动节"), + ("2020-05-02", "劳动节"), + ("2020-05-03", "劳动节"), + ("2020-05-04", "劳动节"), + ("2020-05-05", "劳动节"), + ("2020-06-25", "端午节"), + ("2020-06-26", "端午节"), + ("2020-06-27", "端午节"), + ("2020-10-01", "中秋节; 国庆节"), + ("2020-10-02", "国庆节"), + ("2020-10-03", "国庆节"), + ("2020-10-04", "国庆节"), + ("2020-10-05", "国庆节"), + ("2020-10-06", "国庆节"), + ("2020-10-07", "国庆节"), + ("2020-10-08", "国庆节"), + ) + + def test_2021_public_holiday(self): + # https://www.gov.cn/gongbao/content/2020/content_5567750.htm + self.assertHolidays( + China(categories=(PUBLIC,), years=2021), + ("2021-01-01", "元旦"), + ("2021-01-02", "元旦"), + ("2021-01-03", "元旦"), + ("2021-02-11", "春节"), + ("2021-02-12", "春节"), + ("2021-02-13", "春节"), + ("2021-02-14", "春节"), + ("2021-02-15", "春节"), + ("2021-02-16", "春节"), + ("2021-02-17", "春节"), + ("2021-04-03", "清明节"), + ("2021-04-04", "清明节"), + ("2021-04-05", "清明节"), + ("2021-05-01", "劳动节"), + ("2021-05-02", "劳动节"), + ("2021-05-03", "劳动节"), + ("2021-05-04", "劳动节"), + ("2021-05-05", "劳动节"), + ("2021-06-12", "端午节"), + ("2021-06-13", "端午节"), + ("2021-06-14", "端午节"), + ("2021-09-19", "中秋节"), + ("2021-09-20", "中秋节"), + ("2021-09-21", "中秋节"), + ("2021-10-01", "国庆节"), + ("2021-10-02", "国庆节"), + ("2021-10-03", "国庆节"), + ("2021-10-04", "国庆节"), + ("2021-10-05", "国庆节"), + ("2021-10-06", "国庆节"), + ("2021-10-07", "国庆节"), + ) + + def test_2022_public_holiday(self): + # https://www.gov.cn/gongbao/content/2021/content_5651728.htm + self.assertHolidays( + China(categories=(PUBLIC,), years=2022), + ("2022-01-01", "元旦"), + ("2022-01-02", "元旦"), + ("2022-01-03", "元旦"), + ("2022-01-31", "春节"), + ("2022-02-01", "春节"), + ("2022-02-02", "春节"), + ("2022-02-03", "春节"), + ("2022-02-04", "春节"), + ("2022-02-05", "春节"), + ("2022-02-06", "春节"), + ("2022-04-03", "清明节"), + ("2022-04-04", "清明节"), + ("2022-04-05", "清明节"), + ("2022-04-30", "劳动节"), + ("2022-05-01", "劳动节"), + ("2022-05-02", "劳动节"), + ("2022-05-03", "劳动节"), + ("2022-05-04", "劳动节"), + ("2022-06-03", "端午节"), + ("2022-06-04", "端午节"), + ("2022-06-05", "端午节"), + ("2022-09-10", "中秋节"), + ("2022-09-11", "中秋节"), + ("2022-09-12", "中秋节"), + ("2022-10-01", "国庆节"), + ("2022-10-02", "国庆节"), + ("2022-10-03", "国庆节"), + ("2022-10-04", "国庆节"), + ("2022-10-05", "国庆节"), + ("2022-10-06", "国庆节"), + ("2022-10-07", "国庆节"), + # From 2023 Notice. + ("2022-12-31", "元旦"), + ) + + def test_2023_public_holiday(self): + # https://www.gov.cn/gongbao/content/2023/content_5736714.htm + self.assertHolidays( + China(categories=(PUBLIC,), years=2023), + ("2023-01-01", "元旦"), + ("2023-01-02", "元旦"), + ("2023-01-21", "春节"), + ("2023-01-22", "春节"), + ("2023-01-23", "春节"), + ("2023-01-24", "春节"), + ("2023-01-25", "春节"), + ("2023-01-26", "春节"), + ("2023-01-27", "春节"), + ("2023-04-05", "清明节"), + ("2023-04-29", "劳动节"), + ("2023-04-30", "劳动节"), + ("2023-05-01", "劳动节"), + ("2023-05-02", "劳动节"), + ("2023-05-03", "劳动节"), + ("2023-06-22", "端午节"), + ("2023-06-23", "端午节"), + ("2023-06-24", "端午节"), + ("2023-09-29", "中秋节"), + ("2023-09-30", "中秋节"), + ("2023-10-01", "国庆节"), + ("2023-10-02", "国庆节"), + ("2023-10-03", "国庆节"), + ("2023-10-04", "国庆节"), + ("2023-10-05", "国庆节"), + ("2023-10-06", "国庆节"), + ) + + def test_2022_half_day_holiday(self): + self.assertHolidays( + China(categories=(HALF_DAY,), years=2022), + ("2022-03-08", "国际妇女节"), + ("2022-05-04", "五四青年节"), + ("2022-06-01", "六一儿童节"), + ("2022-08-01", "建军节"), + ) + + def test_2023_half_day_holiday(self): + self.assertHolidays( + China(categories=(HALF_DAY,), years=2023), + ("2023-03-08", "国际妇女节"), + ("2023-05-04", "五四青年节"), + ("2023-06-01", "六一儿童节"), + ("2023-08-01", "建军节"), + ) + + def test_l10n_default(self): + self.assertLocalizedHolidays( + ("2022-01-01", "元旦"), + ("2022-01-02", "元旦"), + ("2022-01-03", "元旦"), + ("2022-01-31", "春节"), + ("2022-02-01", "春节"), + ("2022-02-02", "春节"), + ("2022-02-03", "春节"), + ("2022-02-04", "春节"), + ("2022-02-05", "春节"), + ("2022-02-06", "春节"), + ("2022-03-08", "国际妇女节"), + ("2022-04-03", "清明节"), + ("2022-04-04", "清明节"), + ("2022-04-05", "清明节"), + ("2022-04-30", "劳动节"), + ("2022-05-01", "劳动节"), + ("2022-05-02", "劳动节"), + ("2022-05-03", "劳动节"), + ("2022-05-04", "五四青年节; 劳动节"), + ("2022-06-01", "六一儿童节"), + ("2022-06-03", "端午节"), + ("2022-06-04", "端午节"), + ("2022-06-05", "端午节"), + ("2022-08-01", "建军节"), + ("2022-09-10", "中秋节"), + ("2022-09-11", "中秋节"), + ("2022-09-12", "中秋节"), + ("2022-10-01", "国庆节"), + ("2022-10-02", "国庆节"), + ("2022-10-03", "国庆节"), + ("2022-10-04", "国庆节"), + ("2022-10-05", "国庆节"), + ("2022-10-06", "国庆节"), + ("2022-10-07", "国庆节"), + ("2022-12-31", "元旦"), + ) + + def test_l10n_en_us(self): + self.assertLocalizedHolidays( + "en_US", + ("2022-01-01", "New Year's Day"), + ("2022-01-02", "New Year's Day"), + ("2022-01-03", "New Year's Day"), + ("2022-01-31", "Chinese New Year (Spring Festival)"), + ("2022-02-01", "Chinese New Year (Spring Festival)"), + ("2022-02-02", "Chinese New Year (Spring Festival)"), + ("2022-02-03", "Chinese New Year (Spring Festival)"), + ("2022-02-04", "Chinese New Year (Spring Festival)"), + ("2022-02-05", "Chinese New Year (Spring Festival)"), + ("2022-02-06", "Chinese New Year (Spring Festival)"), + ("2022-03-08", "International Women's Day"), + ("2022-04-03", "Tomb-Sweeping Day"), + ("2022-04-04", "Tomb-Sweeping Day"), + ("2022-04-05", "Tomb-Sweeping Day"), + ("2022-04-30", "Labor Day"), + ("2022-05-01", "Labor Day"), + ("2022-05-02", "Labor Day"), + ("2022-05-03", "Labor Day"), + ("2022-05-04", "Labor Day; Youth Day"), + ("2022-06-01", "Children's Day"), + ("2022-06-03", "Dragon Boat Festival"), + ("2022-06-04", "Dragon Boat Festival"), + ("2022-06-05", "Dragon Boat Festival"), + ("2022-08-01", "Army Day"), + ("2022-09-10", "Mid-Autumn Festival"), + ("2022-09-11", "Mid-Autumn Festival"), + ("2022-09-12", "Mid-Autumn Festival"), + ("2022-10-01", "National Day"), + ("2022-10-02", "National Day"), + ("2022-10-03", "National Day"), + ("2022-10-04", "National Day"), + ("2022-10-05", "National Day"), + ("2022-10-06", "National Day"), + ("2022-10-07", "National Day"), + ("2022-12-31", "New Year's Day"), + ) + + def test_l10n_th(self): + self.assertLocalizedHolidays( + "th", + ("2022-01-01", "วันปีใหม่สากล"), + ("2022-01-02", "วันปีใหม่สากล"), + ("2022-01-03", "วันปีใหม่สากล"), + ("2022-01-31", "วันตรุษจีน"), + ("2022-02-01", "วันตรุษจีน"), + ("2022-02-02", "วันตรุษจีน"), + ("2022-02-03", "วันตรุษจีน"), + ("2022-02-04", "วันตรุษจีน"), + ("2022-02-05", "วันตรุษจีน"), + ("2022-02-06", "วันตรุษจีน"), + ("2022-03-08", "วันสตรีสากล"), + ("2022-04-03", "วันเช็งเม้ง"), + ("2022-04-04", "วันเช็งเม้ง"), + ("2022-04-05", "วันเช็งเม้ง"), + ("2022-04-30", "วันแรงงาน"), + ("2022-05-01", "วันแรงงาน"), + ("2022-05-02", "วันแรงงาน"), + ("2022-05-03", "วันแรงงาน"), + ("2022-05-04", "วันเยาวชนห่งชาติจีน; วันแรงงาน"), + ("2022-06-01", "วันเด็กสากล"), + ("2022-06-03", "วันไหว้บ๊ะจ่าง"), + ("2022-06-04", "วันไหว้บ๊ะจ่าง"), + ("2022-06-05", "วันไหว้บ๊ะจ่าง"), + ("2022-08-01", "วันสถาปนากองทัพปลดปล่อยประชาชนจีน"), + ("2022-09-10", "วันไหว้พระจันทร์"), + ("2022-09-11", "วันไหว้พระจันทร์"), + ("2022-09-12", "วันไหว้พระจันทร์"), + ("2022-10-01", "วันชาติจีน"), + ("2022-10-02", "วันชาติจีน"), + ("2022-10-03", "วันชาติจีน"), + ("2022-10-04", "วันชาติจีน"), + ("2022-10-05", "วันชาติจีน"), + ("2022-10-06", "วันชาติจีน"), + ("2022-10-07", "วันชาติจีน"), + ("2022-12-31", "วันปีใหม่สากล"), + ) + + def test_l10n_zh_tw(self): + self.assertLocalizedHolidays( + "zh_TW", + ("2022-01-01", "元旦"), + ("2022-01-02", "元旦"), + ("2022-01-03", "元旦"), + ("2022-01-31", "春節"), + ("2022-02-01", "春節"), + ("2022-02-02", "春節"), + ("2022-02-03", "春節"), + ("2022-02-04", "春節"), + ("2022-02-05", "春節"), + ("2022-02-06", "春節"), + ("2022-03-08", "國際婦女節"), + ("2022-04-03", "清明節"), + ("2022-04-04", "清明節"), + ("2022-04-05", "清明節"), + ("2022-04-30", "勞動節"), + ("2022-05-01", "勞動節"), + ("2022-05-02", "勞動節"), + ("2022-05-03", "勞動節"), + ("2022-05-04", "五四青年節; 勞動節"), + ("2022-06-01", "六一兒童節"), + ("2022-06-03", "端午節"), + ("2022-06-04", "端午節"), + ("2022-06-05", "端午節"), + ("2022-08-01", "建軍節"), + ("2022-09-10", "中秋節"), + ("2022-09-11", "中秋節"), + ("2022-09-12", "中秋節"), + ("2022-10-01", "國慶日"), + ("2022-10-02", "國慶日"), + ("2022-10-03", "國慶日"), + ("2022-10-04", "國慶日"), + ("2022-10-05", "國慶日"), + ("2022-10-06", "國慶日"), + ("2022-10-07", "國慶日"), + ("2022-12-31", "元旦"), + )