背景:

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

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

-----修改by20200103

原代码如下:

 import urllib2,datetime,json

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

更新后的代码如下:

 import urllib2,datetime,json

 nowTime = datetime.datetime.now().strftime("%Y-%m-%d")  # 当前日期
nowTimeLast = (datetime.datetime.now() + datetime.timedelta(days=1)).strftime("%Y-%m-%d") # 当前日期后一天 server_url = "http://timor.tech/api/holiday/info/" vop_nowTime = json.loads(urllib2.urlopen(urllib2.Request(server_url + nowTime)).read())
vop_nowTimeLast = json.loads(urllib2.urlopen(urllib2.Request(server_url + nowTimeLast)).read()) codeNow = vop_nowTime['type']['type']
codeNowLast = vop_nowTimeLast['type']['type']
codeNowLast_ho = vop_nowTimeLast['holiday']
print(codeNow,codeNowLast,codeNowLast_ho) #工作日、周末、节日 0 1 2
if ((codeNow == 0) or (codeNow == 1 and codeNowLast_ho != None)) and ((codeNowLast == 2) or (codeNowLast == 1 and codeNowLast_ho==None)):
print'明天休息啦'
#你的函数

python 查询每周最后一个工作日的更多相关文章

  1. 使用python的Flask实现一个RESTful API服务器端

    使用python的Flask实现一个RESTful API服务器端 最近这些年,REST已经成为web services和APIs的标准架构,很多APP的架构基本上是使用RESTful的形式了. 本文 ...

  2. python 查询 elasticsearch 常用方法(Query DSL)

    1. 建立连接 from elasticsearch import Elasticsearch es = Elasticsearch(["localhost:9200"]) 2. ...

  3. Python查询Mysql时返回字典结构的代码

    Python查询Mysql时返回字典结构的代码 MySQLdb默认查询结果都是返回tuple,输出时候不是很方便,必须按照0,1这样读取,无意中在网上找到简单的修改方法,就是传递一个cursors.D ...

  4. java和python根据对象某一个属性排序

    最近在学习java,目前看到java如何对一个对象列表进行排序. 我有一个Member类: public Member(String name,Calendar birthday,Sex gender ...

  5. Python 学习之中的一个:在Mac OS X下基于Sublime Text搭建开发平台包括numpy,scipy

    1 前言 Python有许多IDE能够用,官方自己也带了一个,Eclipse也能够. 但我在使用各种IDE之后,发现用Sublime Text是最好用的一个.因此.我都是用Sublime Text来编 ...

  6. python查询修改配置文件功能

    阅读目录 一.python查询功能代码 1.查询修改配置文件 global log 127.0.0.1 local2 daemon maxconn 256 log 127.0.0.1 local2 i ...

  7. python查询数据库返回数据

    python查询数据库返回数据主要运用到flask框架,pymysql 和 json‘插件’ #!/usr/bin/python # -*- coding: UTF-8 -*- import pymy ...

  8. [python] 查询mysql返回datetime类型数据的处理

    Python 查询Mysql,如果是datetime类型,在json序列化的时候会出现问题. 在网上查了一下,解决方案基本都是遍历dict数据,如果是datetime则转化为字符串. from dat ...

  9. hbase源码系列(十五)终结篇&Scan续集-->如何查询出来下一个KeyValue

    这是这个系列的最后一篇了,实在没精力写了,本来还想写一下hbck的,这个东西很常用,当hbase的Meta表出现错误的时候,它能够帮助我们进行修复,无奈看到3000多行的代码时,退却了,原谅我这点自私 ...

随机推荐

  1. laravel 提交空字符串会被转成null解决方法

    在app\Http\Kernel.php文件夹中,注释全局中间件: \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull:: ...

  2. 在ensp上配置通过Stelnet登录系统

    我们为什么我们要采用Stelent登录? 因为不安全,我们要采用更加安全的方式,双向加密,通过ssh网络安全协议 下面我们开始实验:使用路由器R1模拟PC,作为SSH的客户端:路由器R2作为SSH的服 ...

  3. LeetCode 589. N叉树的前序遍历(N-ary Tree Preorder Traversal)

    589. N叉树的前序遍历 589. N-ary Tree Preorder Traversal LeetCode589. N-ary Tree Preorder Traversal 题目描述 给定一 ...

  4. 数组模拟循环队列(java实现)

    1.front变量的含义:front就指向队列的第一个元素,也就是说arr[front]就是队列的第一个元素front的初始值=0. 2.rear变量的含义:rear指向队列的最后一个元素的后一个位置 ...

  5. ALV报表——选择屏幕选项卡

    ALV选择屏幕选项卡 运行效果: 代码: *&--------------------------------------------------------------------* *&a ...

  6. 2019牛客多校八 H. How Many Schemes (AC自动机,树链剖分)

    大意: 给定树, 每条边有一个字符集合, 给定$m$个模式串, $q$个询问$(u,v)$, 对于路径$(u,v)$中的所有边, 每条边从对应字符集合中取一个字符, 得到一个串$s$, 求$s$至少包 ...

  7. 修改mysql远程数据库链接密码(转)

    原文:https://blog.csdn.net/jianjiao7869/article/details/81029171 原来root用户有两个,一个只允许localhost登陆,一个可运行所有用 ...

  8. intellij idea 中右键项目没有git

    1.没有GIT选项说明还没有关联你的仓库 2.ctrl + alt +s 打开VersionControl添加git仓库 3.添加后再次查看,GIT就出现了 4.可以查看历史版本了. 原文地址:htt ...

  9. python练习:面向对象1

    面向对象习题: 一:定义一个学生类.有下面的类属性: 1 姓名 2 年龄 3 成绩(语文,数学,英语)[每课成绩的类型为整数] 类方法: 1 获取学生的姓名:get_name() 返回类型:str 2 ...

  10. SQL Server2008本地数据库调用SP发送邮件

    一.首先要对本地数据库做配置 1.通过使用数据库邮件配置向导和sp_configure存储过程配置启用数据库邮件: 注:服务器名称填写发送服务器的路径或者IP,电子邮件地址为寄件者地址 配置好数据库邮 ...