1 导库

import chinese_calendar
import datetime
import pandas as pd 

2 指定时间范围

start_time = datetime.date(2021, 1, 1)  # 指定开始时间
end_time = datetime.date(2022, 6, 30)   # 指定结束时间

3 生成工作日

workdays = pd.DataFrame(chinese_calendar.get_workdays(start_time,end_time))
workdays = workdays.rename(columns={0:'日期'})
workdays['属性'] = '工作日'
workdays
日期 属性
0 2021-01-04 工作日
1 2021-01-05 工作日
2 2021-01-06 工作日
3 2021-01-07 工作日
4 2021-01-08 工作日
... ... ...
367 2022-06-24 工作日
368 2022-06-27 工作日
369 2022-06-28 工作日
370 2022-06-29 工作日
371 2022-06-30 工作日

372 rows × 2 columns

4 生成假期日

hd = pd.DataFrame(chinese_calendar.get_holidays(start_time,end_time))
hd = hd.rename(columns={0:'日期'})
hd['属性'] = '假期'
hd
日期 属性
0 2021-01-01 假期
1 2021-01-02 假期
2 2021-01-03 假期
3 2021-01-09 假期
4 2021-01-10 假期
... ... ...
169 2022-06-12 假期
170 2022-06-18 假期
171 2022-06-19 假期
172 2022-06-25 假期
173 2022-06-26 假期

174 rows × 2 columns

5 获取国家法定节假日

import requests
from bs4 import BeautifulSoup as BS# 获取指定月份节假日
def get_holidays(year, month):result = {}url = f"https://www.rili.com.cn/wannianli/{year}/{month}/"content = requests.get(url)bs = BS(content.text)holidays = ['春节','元旦','除夕','元宵节','清明节','劳动节','端午节','中秋节','国庆节']tds = bs.find("table").find("table").find_all("td")for td in tds:if 'noby' in td['class']:continueday = td.select(".riwai>.ri")[0].textname1 = td.select(".riwai>.jie")name2 = td.select(".riwai>.r2")if len(name1)>0:name = name1[0].textif len(name2)>0:name = name2[0].textif name in holidays:result[f"{year}-{month}-{day}"] = namereturn resultif __name__=="__main__":holidays = {}for year in range(2022, 2023):for month in range(1, 13):holidays.update(get_holidays(year,month))print(holidays)holidays = pd.DataFrame([holidays]).T.reset_index()print(display(holidays.rename(columns={'index':'日期',0:'国家法定节假日'})))
{'2022-1-1': '元旦', '2022-1-31': '除夕', '2022-2-1': '春节', '2022-2-15': '元宵节', '2022-4-5': '清明节', '2022-5-1': '劳动节', '2022-6-3': '端午节', '2022-9-10': '中秋节', '2022-10-1': '国庆节'}
日期 国家法定节假日
0 2022-1-1 元旦
1 2022-1-31 除夕
2 2022-2-1 春节
3 2022-2-15 元宵节
4 2022-4-5 清明节
5 2022-5-1 劳动节
6 2022-6-3 端午节
7 2022-9-10 中秋节
8 2022-10-1 国庆节

Python获取指定时间范围内的工作日、假日日、法定节假日相关推荐

  1. oracle获取指定日期内工作日的天数或节假日天数

    oracle 获取指定日期内工作日的天数 不必拘泥,可以反向思考 获取这段时期内周六日的天数,再用总天数减去周六日的天数,得到我们想要的 获取时间段内 所有日期 select to_date('202 ...

  2. [046量化交易]python 抓取指定时间范围内的股票基础信息写入Mongodb

    # -*- coding: utf-8 -*- from datetime import datetime, timedelta import tushare as ts from pymongo i ...

  3. Python 获取指定模块基址

    因为昨天研究FPS游戏时候,发现有个动态地址每次重启电脑都会不同,然后因为有过用C和易语言编写指定模块名获取基址的经验,所以打算用Python来试试 在网上搜索了一点资料,发现有吾爱有一篇是使用Pyt ...

  4. python下载文件到指定目录-Python获取指定文件夹下的文件名的方法

    本文采用os.walk()和os.listdir()两种方法,获取指定文件夹下的文件名. 一.os.walk() 模块os中的walk()函数可以遍历文件夹下所有的文件. os.walk(top, t ...

  5. 获取指定区域内的坐标点位,在线查看经纬坐标

    获取指定区域内的坐标点 项目介绍 使用方法 仓库地址 项目介绍 基于 turfjs 库的很简单的封装,实现输入范围的多边形数据,返回指定坐标间隔的点位. 多边形数据可以从高德地图API获取,例如:(该 ...

  6. 【JavaScript】如何获取指定范围内的随机数

    如何获取指定范围内的随机数,要知道,JavaScript中用Math.random()生成随机小数,可以利用这一点,加上指定范围的处理,就可以做成自己想要的随机数 文章目录 1. 函数介绍 2. 使用 ...

  7. python获取指定目录下的所有指定后缀的文件名

    python获取指定目录下的所有指定后缀的文件名 使用到的函数有: os.path.splitext():分离文件名与扩展名 代码如下: #! /usr/bin/python # -*- coding ...

  8. java判断工作日_java 查询指定月份的工作日(不包括法定节假日)

    /** * 日期工具类 用于获取指定月份的工作日(除去周末和法定节假日) */ public class DateUtils { public static void main(String[] ar ...

  9. 利用python获取指定url在ATS中缓存对象的信息

    业务需求 给定url,如何查询指定的ATS中是否有该url的缓存对象信息?如果缓存了的话,希望提供该缓存对象的大小,缓存时间,缓存文件名,缓存份数(document alternative)等等信息 ...

最新文章

  1. SAP QM 事务代码QE01录入结果后回车,为啥不弹出Manual Valuation窗口?
  2. linux系统添加程序,Linux添加系统服务小程序
  3. 超全整理|Python 操作 Excel 库 xlwings 常用操作详解!
  4. 正则表达式教程之模式修正符
  5. 【Django 2021年最新版教程28】前端模板中 时间日期星期格式化
  6. 使用 Android 签名 APK
  7. 资深HR告诉你到底怎么写一份好的简历(非常全面)
  8. Word文档如何去掉最后一页的页码且不会影响其它页的页码
  9. 作为管理者,就不要总等着领导给你布置任务了
  10. 用iframe的方式 解决 window.open() 不能打开多个窗口的问题
  11. python之signal操作
  12. python 一行内容,变成多列(一行变多列)
  13. Map中的keySet方法
  14. Python让Excel飞起来—批量处理工作薄和工作表
  15. java对象——new对象的理解
  16. CSS padding(填充)
  17. 最差的算法工程师能差到什么程度呢?
  18. 如何区分形式主语和强调句
  19. 实施微前端的六种方式
  20. 输出指定范围内的素数(质数)

热门文章

  1. 国考省考申论:2次阅读法:1读感知材料类型和段落关系,2读根据问题词,原因词,影响词,对策词,关联词把握得分要点
  2. java基于springboot+vue+elementui的实验室预约管理系统 前后端分离
  3. IntelliJ IDEA项目正常编译,但是代码部分飘红
  4. 中国“钱”途光明10所大学
  5. 龙芯平台上的容器和CI/CD实现方案
  6. 数据分析师就业前景怎么样?零基础能成为数据分析师吗?
  7. 为什么吃狗肉那么有争议?
  8. 项目管理-5大过程组-10大知识领域-47过程
  9. 怎么查看建筑图纸?有什么技巧吗?
  10. AGV路径规划方法——A*算法