2019-01-25 09:15:00 by wst
python小组件网上找了半天也没找到可用的,没一个省心的。
无奈之下只好自己动手,丰衣足食!
hol:节日,work:被调休的工作日
返回结果:
"""
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))