python 查询每周最后一个工作日

背景:

做定时任务时,一般都是写死每周五XXXXX,但有时遇到节假日的情况,周五可能不是本周最后一个工作日

之前用的  http://api.goseek.cn/Tools/holiday?date=20200103 接口后来发现不能用了,于是换了个接口,http://timor.tech/api/holiday/info/2020-01-03

-----修改by20200103

原代码如下:

 1 import urllib2,datetime,json
 2 
 3 nowTime = datetime.datetime.now().strftime("%Y%m%d") #当前日期
 4 nowTimeLast = (datetime.datetime.now() + datetime.timedelta(days=1)).strftime("%Y%m%d") #当前日期后一天
 5 
 6 server_url = "http://api.goseek.cn/Tools/holiday?date="
 7 
 8 vop_nowTime = json.loads(urllib2.urlopen(urllib2.Request(server_url + nowTime)).read())
 9 vop_nowTimeLast = json.loads(urllib2.urlopen(urllib2.Request(server_url + nowTimeLast)).read())
10 
11 codeNow = vop_nowTime['data']
12 codeNowLast = vop_nowTimeLast['data']
13 print(codeNow,codeNowLast)
14 
15 #正常工作日对应结果为 0, 法定节假日对应结果为 1, 节假日调休补班对应的结果为 2,休息日对应结果为 3
16 if  (codeNow == 0 or codeNow == 2) and (codeNowLast == 1 or codeNowLast == 3):
17     print'明天休息啦'
18     #你的函数

更新后的代码如下:

 1 import urllib2,datetime,json
 2 
 3 nowTime = datetime.datetime.now().strftime("%Y-%m-%d")  # 当前日期
 4 nowTimeLast = (datetime.datetime.now() + datetime.timedelta(days=1)).strftime("%Y-%m-%d")  # 当前日期后一天
 5 
 6 server_url = "http://timor.tech/api/holiday/info/"
 7 
 8 vop_nowTime = json.loads(urllib2.urlopen(urllib2.Request(server_url + nowTime)).read())
 9 vop_nowTimeLast = json.loads(urllib2.urlopen(urllib2.Request(server_url + nowTimeLast)).read())
10 
11 codeNow = vop_nowTime['type']['type']
12 codeNowLast = vop_nowTimeLast['type']['type']
13 codeNowLast_ho = vop_nowTimeLast['holiday']
14 print(codeNow,codeNowLast,codeNowLast_ho)
15 
16 #工作日、周末、节日 0 1 2
17 if ((codeNow == 0) or (codeNow == 1 and codeNowLast_ho != None)) and ((codeNowLast == 2) or (codeNowLast == 1 and codeNowLast_ho==None)):
18     print'明天休息啦'
19     #你的函数
原文地址:https://www.cnblogs.com/whycai/p/11502903.html