python 查询每周最后一个工作日
背景:
做定时任务时,一般都是写死每周五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 查询每周最后一个工作日的更多相关文章
- 使用python的Flask实现一个RESTful API服务器端
使用python的Flask实现一个RESTful API服务器端 最近这些年,REST已经成为web services和APIs的标准架构,很多APP的架构基本上是使用RESTful的形式了. 本文 ...
- python 查询 elasticsearch 常用方法(Query DSL)
1. 建立连接 from elasticsearch import Elasticsearch es = Elasticsearch(["localhost:9200"]) 2. ...
- Python查询Mysql时返回字典结构的代码
Python查询Mysql时返回字典结构的代码 MySQLdb默认查询结果都是返回tuple,输出时候不是很方便,必须按照0,1这样读取,无意中在网上找到简单的修改方法,就是传递一个cursors.D ...
- java和python根据对象某一个属性排序
最近在学习java,目前看到java如何对一个对象列表进行排序. 我有一个Member类: public Member(String name,Calendar birthday,Sex gender ...
- Python 学习之中的一个:在Mac OS X下基于Sublime Text搭建开发平台包括numpy,scipy
1 前言 Python有许多IDE能够用,官方自己也带了一个,Eclipse也能够. 但我在使用各种IDE之后,发现用Sublime Text是最好用的一个.因此.我都是用Sublime Text来编 ...
- python查询修改配置文件功能
阅读目录 一.python查询功能代码 1.查询修改配置文件 global log 127.0.0.1 local2 daemon maxconn 256 log 127.0.0.1 local2 i ...
- python查询数据库返回数据
python查询数据库返回数据主要运用到flask框架,pymysql 和 json‘插件’ #!/usr/bin/python # -*- coding: UTF-8 -*- import pymy ...
- [python] 查询mysql返回datetime类型数据的处理
Python 查询Mysql,如果是datetime类型,在json序列化的时候会出现问题. 在网上查了一下,解决方案基本都是遍历dict数据,如果是datetime则转化为字符串. from dat ...
- hbase源码系列(十五)终结篇&Scan续集-->如何查询出来下一个KeyValue
这是这个系列的最后一篇了,实在没精力写了,本来还想写一下hbck的,这个东西很常用,当hbase的Meta表出现错误的时候,它能够帮助我们进行修复,无奈看到3000多行的代码时,退却了,原谅我这点自私 ...
随机推荐
- flask的信号使用
from blinker import Namespace from datetime import datetime from flask import request namespace = Na ...
- noVNC 安装、配置与使用
最近项目中使用到了远程终端操控,从各方找到了noVNC这个神奇的家伙,废话不多说,开始介绍它的安装配置与使用. 1. 下载noNVC 好多渠道可以下载到noVNC,可以直接访问noVNC的官方网页ht ...
- ipv6 地址说明
开篇我们先简单介绍下ipv4 地址 IPv4 地址: ipv4地址一共32位,用点分十进制表示,每一个部分是8位.子网掩码有两种表示 192.168.1.3 / 24 表示ip的前24位是网络位,后8 ...
- TCP/IP学习笔记7--TCP/IP模型通信例子学习
"一位如蝴蝶般美丽的女子向我飞来,翩翩的舞姿如同云端轻盈的叶儿." -------------------------------------------------------- ...
- Qt 编译出错“undefined reference to `vtable for”
1. 有时,如果将某个类改为继承自QObject类(以前不继承自该类),编译时会出错. 解决: clean Project, run qmake, rebulid都运行一遍,好了! 因为qmake生成 ...
- [转帖]kubernetes ingress 在物理机上的nodePort和hostNetwork两种部署方式解析及比较
kubernetes ingress 在物理机上的nodePort和hostNetwork两种部署方式解析及比较 https://www.cnblogs.com/xuxinkun/p/11052646 ...
- Word 自动图文集使用方法
1. 自动图文集简介 使用自动图文集当你在文档中输入你所需的模板名称后,就能立刻变出该内容出来. 1.1 效果演示 1:个人简历 如下图所示,在Word文档中输入了"个人简历"后, ...
- python 之 数据库(字段的约束条件,表之间的关系)
10.6 约束条件 10.61 not null .default create table t15( id int, name ) not null, sex enum('male','female ...
- svn钩子(hooks)
目录 钩子脚本的具体写法就是操作系统中shell脚本程序的写法,请根据自己SVN所在的操作系统和shell程序进行相应的写作 所谓钩子就是与一些版本库事件触发的程序,例如新修订版本的创建,或是未版本化 ...
- VMware虚拟机(Ubuntu)通过主机代理实现——浏览器+终端访问外网
环境说明:主机win10 + 虚拟机ubunut16.04 + 主机s-h-a-d-o-w-socks win10 主机相关操作配置1: 按下 Win + R 快捷键,输入 cmd ,然后在命令行中输 ...