Python时区时段查找脚本
来自 Wikiprompt,自由的提示词百科全书
Python时区时段查找脚本 一个完整、独立的Python 3.9+脚本,使用zoneinfo查找公平的会议时间段,包含排序、轮换、夏令时检测、JSON输出和内置自测功能。
提示词内容收藏
🌐
#!/usr/bin/env python3
"""时区会议时段查找器(Python 3.9+ 标准库:zoneinfo)。
给定参与者的 IANA 时区、工作日和工作时间(以及每个人愿意在上班前或下班后额外延长的时长),
在日期范围内查找会议时段,按公平性排序,并可选择轮换系列,以便同一组人不会每次都承担早班或晚班。
每个时段都会在参与者各自的本地时间(当天)进行评估,因此范围内的夏令时转换(欧洲和美国在不同周末切换)
会自动处理并报告。
每位参与者和会议的痛点:工作时间内为 0,工作时间前或后的弹性(“flex”)窗口内每小时为 2,
超出该范围、非工作日或阻塞时间内不可用。在轮换统计中,缺少可选参与者计为他们 3 个痛点。
用法:
python3 slot_finder.py --team team.csv --start 2026-10-26 --end 2026-11-06
[--duration 60] [--step 30] [--blocked blocked.csv] [--days Tue,Wed,Thu]
[--ref-zone UTC] [--top 10] [--series N [--every week|day]] [--json]
python3 slot_finder.py --self-test
team.csv 列:name, zone, work_start, work_end, days (Mon-Fri 或 Sun-Thu 或
Mon,Wed,Fri), flex_before, flex_after (小时,可选), required (yes/no,可选)。
work_end 早于 work_start 表示跨午夜的班次。
blocked.csv 列:name, date (参与者本地日期), start, end (空 = 全天), reason。
退出代码:0 = 找到时段,1 = 没有所有必需参与者都能参加的时段,
2 = 输入错误(未知时区、错误时间、缺失文件或列)。
"""
[此处为原始推文中的完整 Python 源代码]
用法
此提示词专为 coding 设计。复制上方内容并粘贴到你常用的 AI 工具中。
为获得最佳效果,可将占位符(方括号或大写字母标示)替换为你的具体需求。
讨论
0 条评论