中国假期安排的yaml格式,方便各种语言解析使用。
将国务院放假安排格式化为yaml格式,方便各种语言直接解析使用。
附带了python的解析实现。
pip install git+https://github.com/noanti/chinese_holiday.git@master
import datetime
from chinese_holiday import is_tiaoxiu, is_rest, is_holiday
# 以2018年为例
# http://www.gov.cn/zhengce/content/2017-11/30/content_5243579.htm
# 一、元旦:1月1日放假,与周末连休。
# 二、春节:2月15日至21日放假调休,共7天。2月11日(星期日)、2月24日(星期六)上班。
# 三、清明节:4月5日至7日放假调休,共3天。4月8日(星期日)上班。
# 四、劳动节:4月29日至5月1日放假调休,共3天。4月28日(星期六)上班。
# 五、端午节:6月18日放假,与周末连休。
# 六、中秋节:9月24日放假,与周末连休。
# 七、国庆节:10月1日至7日放假调休,共7天。9月29日(星期六)、9月30日(星期日)上班。
holiday, holiday_name = is_holiday(datetime.date(2017, 12, 29)) # False, None
holiday, holiday_name = is_holiday(datetime.date(2017, 12, 30)) # True, '元旦'
holiday, holiday_name = is_holiday(datetime.date(2017, 12, 31)) # True, '元旦'
holiday, holiday_name = is_holiday(datetime.date(2018, 1, 1)) # True, '元旦'
holiday, holiday_name = is_holiday(datetime.date(2018, 1, 2)) # False, None
day = datetime.date(2018, 2, 11)
while day <= datetime.date(2018, 2, 24):
print('{} is_holiday: {} is_tiaoxiu: {} is_rest:{}'.format(
day.strftime('%Y-%m-%d'), is_holiday(day), is_tiaoxiu(day), is_rest(day)
))
day = day + datetime.timedelta(days=1)
2018-02-11 is_holiday: (False, None) is_tiaoxiu: (True, '春节') is_rest:False
2018-02-12 is_holiday: (False, None) is_tiaoxiu: (False, None) is_rest:False
2018-02-13 is_holiday: (False, None) is_tiaoxiu: (False, None) is_rest:False
2018-02-14 is_holiday: (False, None) is_tiaoxiu: (False, None) is_rest:False
2018-02-15 is_holiday: (True, '春节') is_tiaoxiu: (False, None) is_rest:True
2018-02-16 is_holiday: (True, '春节') is_tiaoxiu: (False, None) is_rest:True
2018-02-17 is_holiday: (True, '春节') is_tiaoxiu: (False, None) is_rest:True
2018-02-18 is_holiday: (True, '春节') is_tiaoxiu: (False, None) is_rest:True
2018-02-19 is_holiday: (True, '春节') is_tiaoxiu: (False, None) is_rest:True
2018-02-20 is_holiday: (True, '春节') is_tiaoxiu: (False, None) is_rest:True
2018-02-21 is_holiday: (True, '春节') is_tiaoxiu: (False, None) is_rest:True
2018-02-22 is_holiday: (False, None) is_tiaoxiu: (False, None) is_rest:False
2018-02-23 is_holiday: (False, None) is_tiaoxiu: (False, None) is_rest:False
2018-02-24 is_holiday: (False, None) is_tiaoxiu: (True, '春节') is_rest:False