讲师中心 微信公众号
AI工具推荐 视频效率加速

计算当月已过去的交易日数量

落磊小哥_5979

落磊小哥_5979

发布时间:2026-01-30 11:34:01

|

538人浏览过

|

来源于php中文网

原创

计算当月已过去的交易日数量

本文介绍如何使用 python 快速计算从当月第一天到今天(含或不含今日)之间经过的交易日(周一至周五)天数,涵盖基于 numpy 的高效方案与纯 python 的兼容性方案,并附带代码示例与关键注意事项。

在金融、财务或任务调度等场景中,常需统计“本月已过多少个工作日”(即排除周末和法定节假日的自然日),而非简单的日历天数。例如,2024年2月12日(星期一)时,2月1日至12日期间实际有7个交易日(2月1日–2日、5日–9日),若包含当日则为8个。

✅ 推荐方案:使用 numpy.busday_count

numpy.busday_count() 是专为工作日计算设计的高效函数,支持自定义周内工作日(默认周一至周五),且底层用 C 实现,性能优异:

from datetime import datetime
import numpy as np

today = datetime.today().date()
first_day = today.replace(day=1)
business_days = np.busday_count(first_day, today)  # 不含 today
# 若需包含今日,可改为:np.busday_count(first_day, today + timedelta(days=1))
print(business_days)  # 输出:7(以 2024-02-12 为例)

⚠️ 注意:busday_count(start, end) 默认左闭右开区间(即包含 start,不包含 end)。因此上述代码统计的是 2024-02-01 至 2024-02-12 之间的完整交易日数量(即 1 日计入,12 日不计入),结果为 7。如需包含今日,应将 end 设为 today + timedelta(days=1)。

Python Dependency Candidate Fetcher 2
Python Dependency Candidate Fetcher 2

根据包的能力以及 Jupyter 环境中的导入语句,从候选列表中挑选最适合用户表格工作流的 Python 包。

下载

? 纯 Python 方案(无依赖)

若项目禁止引入 NumPy,可用标准库实现逻辑等效的计数(注意:此方法不自动排除法定节假日):

from datetime import datetime, timedelta

today = datetime.today().date()
first_day = today.replace(day=1)
delta_days = (today - first_day).days

# 统计 [first_day, today) 区间内 weekday() < 5 的天数(即周一至周五)
business_days = sum(
    (first_day + timedelta(days=n)).weekday() < 5
    for n in range(delta_days)
)
print(business_days)  # 同样输出:7

该方案通过遍历每日并调用 .weekday()(返回 0=周一, 6=周日)判断是否为工作日,简洁可靠,但时间复杂度为 O(n),对跨月长周期略慢(通常月份最多31天,影响可忽略)。

? 重要说明

  • 以上所有方法均不处理法定节假日。如需支持节假日(如中国春节、国庆调休),建议结合 holidays 库或自定义假期列表,对日期逐个过滤;
  • datetime.date.weekday() 返回值范围是 [0, 6],其中 0–4 对应周一至周五,5–6 为周六、周日;
  • 若需动态指定起止日期(非仅“本月首日→今日”),只需替换 first_day 和 today 变量即可复用逻辑;
  • 在生产环境中,建议将核心逻辑封装为函数,并添加类型提示与错误处理(如确保 start

综上,numpy.busday_count 是最简、最健壮的首选方案;而纯 Python 版本则适用于轻量级或受限环境,二者均可根据实际需求灵活选用。

热门AI工具

更多
豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

PixTV
PixTV Hot

PixTV是一款面向AIGC内容创作的AI视频生成工具。

墨刀AI
墨刀AI Hot

一款AI图像与设计工具,主要用于产品经理的专属智能体,适合需要提升相关任务效率的用户。

咔片AIPPT

一款在线AI演示文稿制作工具,可根据主题和内容需求辅助生成PPT结构与页面,提高演示材料制作效率。

UpDream
UpDream Hot

一款AI视频创作工具,主要用于哔哩哔哩推出的自研AI视频创作工具,适合需要提升相关任务效率的用户。

Lovart
Lovart Hot

一款面向视觉设计创作的AI设计平台,可通过智能体和画布工作流辅助制作海报、Logo、网页、PPT及其他视觉内容。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

SkildArt
SkildArt Hot

SkildArt是一款AI文本写作工具,一站式 AI 视觉创作平台。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

相关专题

更多
Uvicorn 报错与问题解决教程
Uvicorn 报错与问题解决教程

本专题汇总了Uvicorn服务器常见问题与报错解决的教程合集,涵盖启动失败、端口占用、模块导入错误、事件循环冲突及热重载失效等典型故障的排查思路。同时整理了多进程与Worker配置、SSL/HTTPS证书报错、跨域与代理配置等实战解决方案,助你快速定位并解决Uvicorn运行中的各类问题。

0

2026.11.02

Uvicorn使用教程
Uvicorn使用教程

本专题汇总了Uvicorn使用教程与启动运行指南,涵盖其作为Python ASGI服务器的定位与特点,以及命令行启动(uvicorn main:app --reload)、参数配置(host/port/workers)、程序内嵌运行与Gunicorn结合部署等核心用法。同时整理了热重载调试、日志配置与生产环境部署优化等技巧,助你快速掌握Uvicorn的运行与配置。

0

2026.11.02

Uvicorn安装配置教程
Uvicorn安装配置教程

本专题汇总了Uvicorn的安装配置教程与部署指南,涵盖通过pip安装Uvicorn、启动FastAPI/Starlette应用、开发模式热重载(--reload)及多进程工作模式配置等核心操作。同时整理了结合Gunicorn的生产部署方案、HTTPS与反向代理配置及性能调优技巧,助你快速完成Uvicorn服务的安装与上线部署。

0

2026.11.02

Vite 项目如何打包和部署
Vite 项目如何打包和部署

Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。

120

2026.10.28

Vite 如何搭配 Vue.js
Vite 如何搭配 Vue.js

Vite搭配Vue.js专题汇集创建Vue 3项目、配置开发环境、路径别名、Vue插件、代理、多环境构建与调试的已审核文章,帮助读者完成从初始化到日常开发的配置。

80

2026.10.28

Vite 项目目录怎么看
Vite 项目目录怎么看

Vite项目目录专题汇集入口文件、src源码、public静态资源、路径别名、项目根目录和构建输出目录相关的已审核文章,帮助读者理解各文件夹的用途与引用方式。

280

2026.10.28

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

160

2026.10.22

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

140

2026.10.22

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

100

2026.10.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn