mcpField
T
timezone-tools

timezone-tools

github.com/henkisdabro生产力9384 次安装3 周前更新
代码仓库

关于 timezone-tools

timezone-tools 是一个 Python 技能,可查询 IANA 时区的当前时间并转换不同时区的时间。它还可搜索时区名称,并在转换时处理夏令时。

主要功能

  1. 01按 IANA 时区查询当前时间
  2. 02转换不同时区的时间
  3. 03搜索时区名称
  4. 04处理夏令时
  5. 05检测本地时区

适用场景

  1. 01查询其他城市的当前时间
  2. 02换算跨地区会议时间
  3. 03查找地点对应的 IANA 时区名称

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/henkisdabro/wookstar-claude-plugins --skill timezone-tools

安装后在 Claude Code 中输入/timezone-tools确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

data/
common_timezones.json
scripts/
convert_time.py
get_time.py
list_timezones.py
requirements.txt

详细介绍

时区工具

使用 IANA 时区数据库获取任意时区的当前时间,以及在不同时区之间转换时间。

快速开始

获取某个时区的当前时间
python scripts/get_time.py "America/New_York"
在不同时区之间转换时间
python scripts/convert_time.py "America/New_York" "14:30" "Australia/Perth"
搜索时区名称
python scripts/list_timezones.py "perth"

使用说明

当用户询问时间或时区时:

  1. 查询当前时间(例如:“东京现在几点?”):

    • 使用 scripts/get_time.py 和 IANA 时区名称
    • 如果不确定时区名称,请先使用 list_timezones.py 搜索
    • 脚本输出:时区、日期时间、星期几、夏令时状态
  2. 转换时间(例如:“东部标准时间下午 2 点是珀斯时间几点?”):

    • 使用 scripts/convert_time.py,并提供源时区、时间(24 小时制的 HH:MM)和目标时区
    • 脚本会显示源时间、目标时间和时差
    • 自动处理夏令时变化
  3. 搜索时区:

    • 使用 scripts/list_timezones.py 和城市或国家/地区名称
    • 返回匹配的 IANA 时区名称

常用时区参考

如需快速参考,请查看 data/common_timezones.json,其中包含全球主要城市,并特别列出了珀斯。

用户的本地时区:脚本会使用 tzlocal 自动检测你的本地时区。

示例

示例 1:查询当前时间

用户:“珀斯现在几点?”

python scripts/list_timezones.py "perth"
# Output: Australia/Perth

python scripts/get_time.py "Australia/Perth"
# Output:
# Timezone: Australia/Perth
# Current time: 2025-11-07T15:30:45
# Day: Thursday
# DST: No
示例 2:时间转换

用户:“我有一个会议安排在纽约时间下午 2 点,珀斯时间是几点?”

python scripts/convert_time.py "America/New_York" "14:00" "Australia/Perth"
# Output:
# Source: America/New_York - 2025-11-07T14:00:00 (Thursday, DST: No)
# Target: Australia/Perth - 2025-11-08T03:00:00 (Friday, DST: No)
# Time difference: +13.0h
示例 3:搜索多个时区

用户:“伦敦、东京和悉尼的时区代码是什么?”

python scripts/list_timezones.py "london"
python scripts/list_timezones.py "tokyo"
python scripts/list_timezones.py "sydney"
# Outputs:
# Europe/London
# Asia/Tokyo
# Australia/Sydney

时间格式

  • 所有时间均使用24 小时制(HH:MM):14:30,而不是 2:30 PM
  • 输出使用 ISO 8601 日期时间格式:2025-11-07T14:30:45
  • 使用 IANA 时区名称(例如 America/New_York,而不是 EST)

故障排除

“Invalid timezone”错误
  • 使用 IANA 时区名称:America/New_York,而不是 EST 或 Eastern
  • 如果不确定,请使用 list_timezones.py 搜索
  • 请查看 data/common_timezones.json 以供参考
“Invalid time format”错误
  • 使用 24 小时制:14:30,而不是 2:30 PM
  • 格式必须为 HH:MM,并以冒号分隔
缺少依赖项

安装所需的 Python 软件包:

pip install tzlocal

依赖项

  • Python 3.9+
  • tzlocal>=5.0 - 用于检测本地时区
  • zoneinfo - Python 3.9+ 内置模块(IANA 时区数据库)

注意事项

  • 脚本会自动处理夏令时(DST)
  • 自动从系统检测本地时区
  • 所有时区数据均使用 IANA 时区数据库
  • 澳大利亚珀斯时区:Australia/Perth(UTC+8,无夏令时)

评论

支持 Markdown