2.6 time:把时区算对

它是什么

官方描述:time and timezone conversion——时间查询与时区转换。Python 实现,包名 mcp-server-time,版本 2026.10.19。

社区有句调侃:“agents constantly get wrong”(agent 老是算错)。这不是夸张——时间计算涉及时区、夏令时、历史变更,是模型的典型弱项。

为什么模型算不准

难点 例子
夏令时 美国 2026 年 3 月 8 日开始,11 月 1 日结束
历史偏移 中国 1986-1991 实行过夏令时
时区政治变更 Samoa 2011 年直接跳过了一整天
IANA 数据库更新 时区规则本身会变

让模型凭记忆算“下周一早上九点北京时间是纽约时间几点”,出错率很高。time 服务器让它真的去查 IANA 数据库算,而不是靠训练记忆拍脑袋。

安装与配置

- insert:
    - id: time
      name: '@deepseek-ai/dsh-mcp-client'
      config:
        serverName: time
        transport: stdio
        command: uvx
        args: ["mcp-server-time"]
        cwd: !!js process.cwd()

或 pip install mcp-server-time。

serverName 用 time,工具前缀为 mcp__time__...。

典型用法

跨时区约会:

用 time 服务器:
北京时间 2026-11-05 09:00 对应纽约、伦敦、东京、悉尼各是什么时间?
标注哪些地区当天实行夏令时。

定时任务排期:

用 time 服务器计算:从此刻起 72 小时后,
北京时间、UTC、美国太平洋时间各是几月几号几点。

历史日期核对:

用 time 服务器确认 1991 年 4 月 14 日中国是否实行夏令时,
当天的 UTC 偏移是多少。

日志时间戳对齐:

用 time 服务器把一批 UTC 时间戳转成北京时间,
按小时分桶,统计访问高峰。

会议邀请时间窗:

用 time 服务器找一个北京工作时间的早晨,
同时落在旧金山当天工作时段内的 30 分钟窗口。

谁该装

情况 建议
团队跨时区协作 必装
做定时任务 / 调度 必装
处理历史数据时间戳 建议
纯本地单时区使用 不必

如果你只在中国时区、只处理当下时刻,模型勉强够用;但凡涉及“另一个时区的几点”“夏令时期间”“历史日期的偏移”,交给 time 服务器几乎不会错。

排错

现象 原因
结果和手算对不上 没考虑夏令时,time 算的是真实偏移
历史日期报错 该日期在 IANA 数据库边界,确认输入格式
和某站点显示不一致 站点可能用本地规则,以 IANA 为准

它和 dsh 定时能力的关系

dsh 自带 定时提醒与自动化会话 能力,负责“到点触发”。time 服务器负责“把触发时间算对”——两者配合,跨时区排期才不会差几个小时。

小结

  • time 管时间查询与时区转换,Python 实现。
  • 时间计算是模型典型弱项(夏令时、历史偏移、时区变更)。
  • 跨时区协作与做调度的人必装。
  • 它查 IANA 数据库,比模型凭记忆算可靠。

延伸阅读