Install
openclaw skills install truetime-cn中文优先的精确时间处理:当前时间、相对/绝对偏移、跨时区、夏令时、农历干支、中国法定节假日(含调休补班)、24 节气。长会话规划必备——任何涉及"现在""明天""X 天后""截止日""会议时间""农历某节"的请求都应该用这个 skill,因为系统注入的日期没有时分秒、不会随对话推进而更新、不知道中国节假日和调休、不会做日历月运算、容易在 DST 上算错。LLM的内置时间常识在跨时区与日历月计算上不可靠;遇到任何时间敏感的决策(订机票、安排会议、设定截止、长任务进度核对)都先调本 skill 拿事实,再做判断。
openclaw skills install truetime-cn中文优先、跨平台的时间精确处理。支持 Claude.ai 沙箱、Claude Code、OpenClaw 及任意 Python ≥ 3.9 环境,零外部依赖。
只要请求里出现以下任意信号,先调脚本,后回答:
不必触发:纯历史问题("1949 年发生了什么")、已知绝对日期且无需运算("圣诞节是 12 月 25 日")。
target_utc 是规范值;本地时区只用于显示。holiday_data_year_available: false 时,告诉用户"我没有该年节假日数据,仅按周末规则判断"。Claude.ai(用户上传 skill 后):
python3 /mnt/skills/user/truetime-cn/scripts/truetime_cn.py [选项]
Claude Code / OpenClaw / 本地:在 SKILL.md 所在目录运行
python3 ./scripts/truetime_cn.py [选项]
零依赖:脚本仅需 Python ≥ 3.9 标准库。农历库 cnlunar(MIT,OPN48 作)已 vendor 到 vendor/cnlunar/,运行时自动加载,无需 pip install 任何东西。
| 用途 | 命令 |
|---|---|
| 当前时间(默认北京) | python3 ...truetime_cn.py |
| 当前 + 中文摘要 | python3 ...truetime_cn.py --human |
| 1.5 个月后 | python3 ...truetime_cn.py --plus 1.5month |
| 1 小时 30 分后 | python3 ...truetime_cn.py --plus 1h30m |
| 250.5 毫秒后 | python3 ...truetime_cn.py --plus 250.5ms |
| 北京 X 点在纽约 | python3 ...truetime_cn.py --target 2026-09-25T09:00:00 --target-tz Asia/Shanghai --user-tz America/New_York |
| 用户在洛杉矶时区 | 加 --user-tz America/Los_Angeles |
| 列所有时区 | python3 ...truetime_cn.py --list-timezones |
ms、s、m、h、d、w(含全拼 milliseconds、seconds…)mo(month)、y(year)、decade、century1.5month、0.1year、0.01century1h30m、1month2weeks脚本输出 JSON,必含以下字段:
| 字段 | 含义 |
|---|---|
now_utc / target_utc | 规范 UTC 时间(ISO 8601) |
now_user_tz / target_user_tz | 用户时区下的时间 |
target_server_tz | 服务器时区下的时间 |
now_lunar / target_lunar | 农历对象,含 display("丙午年三月廿二")、year_ganzhi、month、day、zodiac、is_leap_month、next_solar_term、next_solar_term_date |
now_zh_holiday / target_zh_holiday | 中国法定节假日名(如"春节"),无则 null |
now_is_workday / target_is_workday | 是否工作日(已考虑调休补班) |
target_holiday_source | 判定来源:statutory_holiday / compensatory_workday / weekend_rule / fallback_weekend_only(无该年数据时) |
delta_milliseconds / delta_seconds | 与 now 的差 |
delta_human_zh | 中文摘要:"约 4 个月零 22 天" |
holiday_data_year_available | 是否有目标年的节假日数据 |
assumptions | 脚本做的隐含假设(如"无时区按 UTC 解释") |
Claude 在长会话里特别容易踩坑:第一次问时调了脚本拿到准确时间,后续基于这个值聊很久之后还按这个旧值算。遇到下面任意一种情况,必须重新调脚本:
不要节省调用次数。脚本本地运行,无成本。
脚本对模糊或不存在的本地时间硬错。原文转给用户:
用户:"2026年11月1日凌晨1点半的航班,洛杉矶起飞" 脚本错误:"DST 模糊时间: 2026-11-01T01:30:00 在 America/Los_Angeles 存在两次..." 你应回复:"洛杉矶 11月1日凌晨1:30在夏令时回拨当晚出现两次。请确认航班是回拨前 (PDT, -07:00) 还是回拨后 (PST, -08:00)。"
若环境中没有 bash/code execution(罕见情况,如纯网页对话且未开代码工具),按以下降级:
<注入值>。"data/cn_holidays.json 来自国务院办公厅每年 11 月发布的次年通知。当前内置 2026 年。脚本检测到 holiday_data_year_available: false 时,主动告知用户:
"2027 年节假日表尚未内置(国务院办公厅一般在 2026 年 10-11 月发布),目前仅按周末规则判断。"
target_utc。target_user_tz 和 target_lunar.display。target_zh_holiday 非空或 target_is_workday: false,明确指出。verify time accuracy、calculate utc target、set precise reminder、convert to utc、handle timezones、中文时间、农历日期、中国节假日、调休、春节倒计时、跨时区会议、deadline 还有多久、现在几点