name: timezone-tools description: 在任何时区获取当前时间并在时区之间转换时间。适用于处理时间、日期、时区、跨区域调度,或当用户提及特定城市/地区进行时间查询时。支持IANA时区名称。
时区工具
使用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"
使用说明
当用户询问时间或时区时:
-
对于当前时间查询(例如,“东京现在几点?”):
- 使用
scripts/get_time.py和 IANA 时区名称 - 如果不确定时区名称,先用
list_timezones.py搜索 - 脚本输出:时区、日期时间、星期几、夏令时状态
- 使用
-
对于时间转换(例如,“纽约时间下午2点在珀斯是几点?”):
- 使用
scripts/convert_time.py,提供源时区、时间(24小时制 HH:MM)、目标时区 - 脚本显示源时间、目标时间和时间差
- 自动处理夏令时变化
- 使用
-
对于时区搜索:
- 使用
scripts/list_timezones.py,提供城市或国家名称 - 返回匹配的 IANA 时区名称
- 使用
常见时区参考
快速参考,请查看 data/common_timezones.json,其中包含全球主要城市,珀斯被突出显示。
用户本地时区:脚本使用 tzlocal 自动检测您的本地时区。
示例
示例1:当前时间查询
用户:“珀斯现在几点?”
python scripts/list_timezones.py "perth"
# 输出:Australia/Perth
python scripts/get_time.py "Australia/Perth"
# 输出:
# 时区:Australia/Perth
# 当前时间:2025-11-07T15:30:45
# 星期:星期四
# 夏令时:否
示例2:时间转换
用户:“我有个会议在纽约时间下午2点,珀斯是几点?”
python scripts/convert_time.py "America/New_York" "14:00" "Australia/Perth"
# 输出:
# 源:America/New_York - 2025-11-07T14:00:00(星期四,夏令时:否)
# 目标:Australia/Perth - 2025-11-08T03:00:00(星期五,夏令时:否)
# 时间差:+13.0小时
示例3:多时区搜索
用户:“伦敦、东京和悉尼的时区代码是什么?”
python scripts/list_timezones.py "london"
python scripts/list_timezones.py "tokyo"
python scripts/list_timezones.py "sydney"
# 输出:
# 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)
故障排除
“无效时区”错误
- 使用 IANA 时区名称:
America/New_York而不是EST或Eastern - 如果不确定,用
list_timezones.py搜索 - 参考 data/common_timezones.json
“无效时间格式”错误
- 使用 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,无夏令时)