轻量级桌面工具,能够自动获取中国节假日 ICS 数据,并展示:
- 各假期的总天数
- 排除调休后的实际放假天数
- 排除调休与周末后的真实休息天数
- 中午与晚上两段下班倒计时
- 可选置顶、锁定窗口、透明度调节
- 本地 ICS 缓存,离线仍可正常使用
项目使用 PyQt6 开发,支持 Windows 10、11(其它平台理论可运行但未测试)。
本项目使用中国法定节假日 ICS 数据,来源:
📌 https://github.com/lanceliao/china-holiday-calender
感谢该项目长期维护官方节假日数据。
- 自动从远程下载最新 ICS 文件
- 离线自动读取本地缓存
- 按时间顺序显示假期
- 每条假期展示:
- 假期名称
- 日期范围
- 总天数
- 排除调休后的天数
- 排除调休与周末后的真实休息天数
- 自动识别调休补班
- 解析错误会切至安全模式,保证稳定性
| 下班时间 | 倒计时 |
|---|---|
| 中午(默认 12:00) | 中午下班倒计时 |
| 晚上(默认 18:00) | 晚上下班倒计时 |
可自定义并自动保存。
- 置顶
- 锁定窗口防大小更改
- 透明度滑条
写入 config.json,包括:
- ICS 网址
- 中午 / 晚上下班时间
- 自动刷新间隔
- 是否启用智能计算
- 首次联网成功后落地到
holiday_data.ics - 下次启动自动读取
- 无网仍可正常使用
需要 Python 3.11:
pip install -r requirements.txt
python main.py在 GitHub Release 页面下载即可运行。
HolidayCountdown/
├─ ui/
│ ├─ main_window.py # 主界面
│ ├─ widgets/ # 自定义组件
├─ holidays/
│ ├─ fetcher.py # ICS 下载与缓存
│ ├─ parser.py # ICS 解析
│ ├─ processor.py # 假期处理逻辑
│ ├─ scheduler.py # 下班倒计时
├─ main.py # 程序入口
├─ requirements.txt
├─ holiday_data.ics # 本地 ICS 缓存(自动生成)
└─ config.json # 用户配置(自动生成)
-
启动后自动加载节假日
-
可访问网络 → 获取最新 ICS
-
离线 → 自动读取缓存
-
下班时间支持直接修改并实时保存
-
右上角按钮可切换:
- 📌 置顶
- 🔒 锁定窗口
- 🌫 透明度调节
本项目采用 CC BY-NC 4.0 协议发布。
