闲社服务运行正常AI智能体自动化平台
w

工作日计算器

技能标识:workday-calculator

计算时间区间内有多少个工作日的技能。支持排除中国的节假日和调休安排。当用户询问工作日计算、节假日排除、工作时间计算时使用此技能。

作者:admin | 来源记录:ClawHub
登记来源
ClawHub
版本
V 1.0.0
检测标记
后台标记通过
免费
免费获取
0
收藏
来源与检测标记为平台登记信息,并不代表已展示可复核的检测报告。使用前请核对版本、依赖和所需权限,建议先在隔离环境中运行。
概述
安装方式
版本历史

工作日计算器

Workday Calculator Skill

用于计算任意两个日期之间工作日数量的Python技能。支持排除中国的法定节假日和调休安排。

功能特性

  • - ✅ 计算任意日期区间内的工作日数量
  • ✅ 自动排除周末(周六、周日)
  • ✅ 自动排除中国法定节假日(2025-2026年)
  • ✅ 支持调休工作日(周末需要上班的情况)
  • ✅ 提供详细信息查看功能
  • ✅ 支持结果导出为JSON格式
  • ✅ 节假日数据可更新

快速开始

安装依赖

无需额外依赖,只需要Python 3.6+。

基本使用

bash

计算2025-01-01到2025-01-31之间的工作日


python3 scripts/workday_calculator.py 2025-01-01 2025-01-31

查看详细信息

python3 scripts/workday_calculator.py 2025-01-01 2025-01-31 --details

导出结果到JSON文件

python3 scripts/workday_calculator.py 2025-01-01 2025-01-31 --details --export result.json

参数说明

参数:
start_date 开始日期 (格式: YYYY-MM-DD)
end_date 结束日期 (格式: YYYY-MM-DD)

选项:
--details 显示详细信息(工作日、节假日、周末列表)
--export 导出结果到JSON文件

文件结构

workday-calculator/
├── SKILL.md # 本文件
├── scripts/
│ ├── workday_calculator.py # 主程序
│ ├── update_holidays.py # 节假日更新工具
│ └── example_usage.py # 使用示例
└── references/
└── holidays20252026.md # 节假日数据文档

节假日数据

当前包含的节假日

技能内置了2025-2026年的中国节假日数据,包括:

  • - 元旦
  • 春节
  • 清明节
  • 劳动节
  • 端午节
  • 中秋节
  • 国庆节

更新节假日数据

节假日数据需要每年更新,可以通过以下方式:

  1. 1. 手动更新:编辑 scripts/workdaycalculator.py 文件中的 loadholidays() 方法
  2. 使用更新工具:运行 python3 scripts/updateholidays.py
  3. 从政府网站获取:访问中国政府网 (www.gov.cn) 获取最新的节假日安排

数据来源

节假日数据基于以下来源:

  • - 中国政府网(www.gov.cn)发布的节假日安排通知
  • 国务院办公厅正式通知
  • 百度百科相关词条

使用示例

示例1:基本计算

bash
$ python3 scripts/workday_calculator.py 2025-01-01 2025-01-31
从 2025-01-01 到 2025-01-31:
总天数: 31
工作日数量: 18

示例2:详细信息查看

bash
$ python3 scripts/workday_calculator.py 2026-02-01 2026-02-28 --details

=== 工作日计算详情 ===
时间区间: 2026-02-01 到 2026-02-28
总天数: 28
工作日数量: 17
节假日数量: 7
周末数量: 8
调休工作日数量: 2

工作日列表 (17天):
1. 2026-02-04 星期二
2. 2026-02-05 星期三
...

示例3:批量计算

bash
$ python3 scripts/example_usage.py

导出格式

导出的JSON文件格式:

json
{
start_date: 2025-01-01,
end_date: 2025-01-31,
workdays: [2025-01-02, 2025-01-03, ...],
holidays: [2025-01-01],
weekends: [2025-01-04, 2025-01-05, ...],
extra_workdays: [2025-02-08],
total_days: 31,
workday_count: 22
}

集成到其他系统

作为Python模块使用

python
from scripts.workday_calculator import WorkdayCalculator

calculator = WorkdayCalculator()
workdays = calculator.calculate_workdays(date(2025, 1, 1), date(2025, 1, 31))
print(f工作日数量: {workdays})

作为命令行工具

可以将脚本添加到系统PATH中:

bash

Linux/macOS


sudo ln -s $(pwd)/scripts/workday_calculator.py /usr/local/bin/workday-calc

使用

workday-calc 2025-01-01 2025-01-31

节假日数据更新指南

方法1:使用更新工具

bash
python3 scripts/update_holidays.py

方法2:手动更新

  1. 1. 获取最新的节假日安排通知(中国政府网)
  2. 编辑 scripts/workday_calculator.py 中的节假日数据
  3. 测试更新后的数据是否正确

方法3:从外部API获取

可以扩展 update_holidays.py 来从政府网站API获取数据。

扩展开发

支持其他国家

要支持其他国家的节假日,修改 WorkdayCalculator 类:

  1. 1. 更新 weekends 属性以匹配目标国家的周末定义
  2. 更新 holidays 和 extra_workdays 数据
  3. 可以添加从配置文件或数据库加载节假日数据的功能

添加Web界面

可以创建Flask或FastAPI应用,提供Web界面和REST API。

故障排除

常见问题

  1. 1. 日期格式错误:确保使用 YYYY-MM-DD 格式
  2. 节假日数据过期:每年更新节假日数据
  3. 权限问题:确保有执行Python脚本的权限

错误信息

  • - 日期格式错误:检查日期格式是否为 YYYY-MM-DD
  • 文件写入失败:检查导出目录的写入权限
  • 节假日数据缺失:更新节假日数据

性能说明

  • - 对于非常大的日期范围(如多年),计算速度可能会变慢
  • 内存使用与日期范围大小成正比
  • 节假日数据存储在内存中,启动时加载

许可证

MIT License - 详见 LICENSE 文件

贡献指南

  1. 1. Fork 仓库
  2. 创建功能分支
  3. 提交更改
  4. 推送到分支
  5. 创建Pull Request

联系方式

如有问题或建议,请通过GitHub Issues提交。

标签

skill ai

通过对话安装

以下为平台配置的接入选项,并非逐项实测通过。能否安装取决于客户端支持、技能来源和运行环境:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 workday-calculator-1776118032 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 workday-calculator-1776118032 技能

通过命令行安装

skillhub install workday-calculator-1776118032

下载

⬇ 下载 workday-calculator v1.0.0(免费)

文件大小: 18.38 KB | 发布时间: 2026-4-15 15:00

v1.0.0 最新 2026-4-15 15:00
Initial release of Workday Calculator:

- Calculate the number of workdays between any two dates, excluding weekends and China’s official holidays (2025-2026, with extra workdays considered).
- Offers detailed breakdowns (workday, holiday, weekend, and special workday lists).
- Supports exporting results in JSON format.
- Holiday data is updatable via script or manual methods.
- Usable as a command line tool or as a Python module for integration.
- Includes documentation for feature explanation, examples, and extension guidelines.
返回顶部