python 日历节假日显示颜色_python判断2018/2019年的某天是否是节假日

python判断2018/2019年的某天是否是节假日

2019年1月25日 09:15 by wst

python小组件

网上找了半天也没找到可用的,没一个省心的。

无奈之下只好自己动手,丰衣足食!

hol:节日,work:被调休的工作日

返回结果:

-1:报错

0: 工作日

1: 周末

2: 节日

"""

Author: deepinwst

Email: movingheart000@gmail.com

Date: 19-01-25 下午1:56

"""

import datetime

import time

def holiday(d, s="2018-01-01", e="2019-12-31"):

# 节假日

hol = {"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-16", "2018-06-17", "2018-06-18", "2018-09-22", "2018-09-23", "2018-09-24", "2018-10-01",

"2018-10-02", "2018-10-03", "2018-10-04", "2018-10-05", "2018-10-06", "2018-10-07", "2018-12-30",

"2018-12-31", "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-04-06", "2019-04-07", "2019-05-01", "2019-06-07",

"2019-06-08", "2019-06-09", "2019-09-13", "2019-09-14", "2019-09-15", "2019-10-01", "2019-10-02",

"2019-10-03", "2019-10-04", "2019-10-05", "2019-10-06", "2019-10-07"}

# 调休日

work = {"2018-02-11", "2018-02-24", "2018-04-08", "2018-04-28", "2018-09-29", "2018-09-30", "2018-12-29",

"2019-02-02", "2019-02-03", "2019-09-29"}

s1 = datetime.datetime.strptime(s, '%Y-%m-%d')

e1 = datetime.datetime.strptime(e, '%Y-%m-%d')

if not isinstance(d, str):

print("Please input string date")

return -1

else:

d1 = datetime.datetime.strptime(d, '%Y-%m-%d')

if d1 > e1 or d1 < s1:

print("not in 2018/2019 year")

return -1

elif d in hol:

return 2

elif d in work:

return 0

elif d1.weekday() in (5, 6):

return 1

else:

return 0

if __name__ == "__main__":

day = "2018-10-14"

print(holiday(day))

Comment

×

Name

Email address

Comment

Close

Submit

Not Comment!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值