因为工作业务需要,需要判断得到的日期是否是节假日(包括周末),并返回最近的工作日(如果获得的日期就是工作日,则返回该日期本身)

自己实现其实很麻烦,我是通过workalendar这个第三方组件包实现的。

首先下载安装:

pip install workalendar

2018-08-02 14_30_46-cmd (Admin).png

2018-08-02 14_34_20-GitHub - peopledoc_workalendar_ Worldwide holidays and workdays computational to.png

如果需要实现该功能非常简单:

from workalendar.usa import core

def getworkday(day):

cal = core.UnitedStates()

return cal.find_following_working_day(day)

判断是否是节假日的实现方式:

from workalendar.usa import core

cal = core.UnitedStates()

cal.is_holiday(day)

获得2018年美国所有节日:

from workalendar.usa import core

cal = core.UnitedStates()

print(cal.holidays(2018))

以下是结果:

[(datetime.date(2019, 1, 1), 'New year'),

(datetime.date(2019, 1, 21), 'Birthday of Martin Luther King, Jr.'),

(datetime.date(2019, 2, 18), "Washington's Birthday"),

(datetime.date(2019, 5, 27), 'Memorial Day'),

(datetime.date(2019, 7, 4), 'Independence Day'),

(datetime.date(2019, 9, 2), 'Labor Day'),

(datetime.date(2019, 10, 14), 'Columbus Day'),

(datetime.date(2019, 11, 11), 'Veterans Day'),

(datetime.date(2019, 11, 28), 'Thanksgiving Day'),

(datetime.date(2019, 12, 25), 'Christmas Day')]

获得香港2018年所有节日

from workalendar.asia import hong_kong

cal = hong_kong.HongKong()

print(cal.holidays(2018))

以下是结果:

[(datetime.date(2018, 1, 1), 'New year'),

(datetime.date(2018, 2, 16), "Chinese Lunar New Year's Day"),

(datetime.date(2018, 2, 17), 'Second day of Chinese Lunar New Year'),

(datetime.date(2018, 2, 18), 'Third day of Chinese Lunar New Year'),

(datetime.date(2018, 2, 19), 'Third day of Chinese Lunar New Year shift'),

(datetime.date(2018, 3, 30), 'Good Friday'),

(datetime.date(2018, 3, 31), 'Easter Saturday'),

(datetime.date(2018, 4, 2), 'Easter Monday'),

(datetime.date(2018, 4, 5), 'Ching Ming Festival'),

(datetime.date(2018, 5, 1), 'Labour Day'),

(datetime.date(2018, 5, 22), "Buddha's Birthday"),

(datetime.date(2018, 6, 18), 'Tuen Ng Festival'),

(datetime.date(2018, 7, 1), 'SAR Establishment Day'),

(datetime.date(2018, 7, 2), 'SAR Establishment Day shift'),

(datetime.date(2018, 9, 25), 'Day After Mid-Autumn Festival'),

(datetime.date(2018, 10, 1), 'National Day'),

(datetime.date(2018, 10, 17), 'Chung Yeung Festival'),

(datetime.date(2018, 12, 25), 'Christmas Day'),

(datetime.date(2018, 12, 26), 'Boxing Day')]

python 获取当前日期并判断是否是工作日_通过Python获得相关日期的最近工作日...相关推荐

  1. java计算任意2个日期内的工作日_计算任意2个日期内的工作日(摘抄)

    思路不错,对时间的操作挺全面,参考一下.代码如下: package test; import java.text.SimpleDateFormat; import java.util.Calendar ...

  2. python获取mysql表中一列数据_将Python列表插入mySQL数据库中的一列

    嗨,我试图在一列中插入一个python列表,但是它总是在语法上给出错误. 这是新手.谢谢你的帮助.谢谢.在from time import time import MySQLdb import url ...

  3. python获取系统时间月份_python 取数组绝对值python获取当前日期

    今天群里一个人问了怎么获取当前时间的问题,以前接触过计算日期之差的,具体代码如下: import datetime d1=datetime.datetime(2014,3,14) d2=datetim ...

  4. python过去日期_利用python获取当前日期前后N天或N月日期的方法示例

    前言 最近因为工作原因,发现一个Python的时间组件,很好用分享出来!(忘记作者名字了,在这里先感谢了),下面话不多说,来一起看看详细的介绍吧. 示例代码: # -*- coding: utf-8 ...

  5. python获取当前日期_Python程序获取当前日期

    python获取当前日期 In the below example – we are implementing a python program to get the current date. 在下 ...

  6. python 获取当前日期和时间_python获取当前日期和时间的方法

    本文实例讲述了python获取当前日期和时间的方法.分享给大家供大家参考.具体如下: import datetime # Get a datetime object now = datetime.da ...

  7. python获取当前日期的前一天_【python】datetime获取日期,前一天日期

    1.获取字符串型当前日期 2016-10-09格式 import datetime today = datetime.date.today() #datetime.date类型当前日期 str_tod ...

  8. python获取一个月之前日期_利用python获取当前日期前后N天或N月日期的方法示例...

    前言 最近因为工作原因,发现一个Python的时间组件,很好用分享出来!(忘记作者名字了,在这里先感谢了),下面话不多说,来一起看看详细的介绍吧. 示例代码: # -*- coding: utf-8 ...

  9. python当前日期加n天_利用python获取当前日期前后N天或N月日期的方法示例

    前言 最近因为工作原因,发现一个Python的时间组件,很好用分享出来!(忘记作者名字了,在这里先感谢了),下面话不多说,来一起看看详细的介绍吧. 示例代码: # -*- coding: utf-8 ...

最新文章

  1. laravel php跨域请求,Laravel 5.x设置跨域访问
  2. android应用课程设计报告,基于Android的多媒体播放器课程设计报告.doc
  3. 李沐在斯坦福开新课了!面向机器学习实战,课程全部免费,9月1日可报名
  4. Recyclerview 出现 java.lang.IndexOutOfBoundsException: Inconsistency detected 异常
  5. [NLP]--NLP programming tutorial
  6. CentOS7下用jdk1.7编译hadoop-2.7.1全过程详解
  7. 不包含本位置值的累乘数组
  8. 简单的openssh自动升级脚本
  9. java.lang.NoSuchMethodError: org.apache.flink.table.api.TableColumn.isGenerated()Z
  10. MyFlash使用总结
  11. ROS笔记(22) Gmapping
  12. 如何才干创建一个空的IBM DB2 ECO数据库
  13. Idea中上传项目到Github
  14. android自动扫码转账,亿乐社区微信扫码转账加款机器人使用教程以及常见问题...
  15. MQL5 信号的优势
  16. 抖音养号脚本源码分享
  17. 尚硅谷-个人-数据库记录基础5
  18. 不开机win7计算机还原,win7忘记开机密码一键还原操作不了怎么办
  19. ps -aux详细解释
  20. ODI(Oracle Data Integrator)基本使用教程(1)

热门文章

  1. iOS漏洞:发送短信即可令任意苹果手机重启
  2. 身份证复印件的正确使用方法
  3. 淘宝京东1688以图搜图,按图搜索商品,API接口调用展示(拍立淘API)返回值说明
  4. linux内存管理笔记(四十一)----swap分区
  5. 华为vlan的多种划分方式
  6. js事件委托和事件冒泡
  7. 在成都工作的程序员是什么感受
  8. android仿小米运动,仿小米运动的运动记录界面
  9. 【MySQL】使用DBeaver数据库管理工具进行MySQL数据库连接
  10. 【ae】文字动画类型(丰富,非基本属性动画)/自动化关键(shift+alt+点击  可以删除普通变换)