网上找了半天也没找到可用的,没一个省心的。
无奈之下只好自己动手,丰衣足食!
hol:节日,work:被调休的工作日
返回结果:
- -1:报错
- 0: 工作日
- 1: 周末
- 2: 节日
"""
Author: deepinwst
Email: movingheart000@gmail.com
Date: 18-11-20 下午1:56
"""
import datetime
import time
def holiday(d, s="2018-01-01", e="2018-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"}
work = {"2018-02-11", "2018-02-24", "2018-04-08", "2018-04-28", "2018-09-29", "2018-09-30", "2018-12-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 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))
