You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中US/Eastern与EST时区的区别解析

US/Eastern 与 EST 时区参数的差异

2022年6月28日测试时二者返回结果不同是符合逻辑的,二者本质不是同一类时区定义:

  • EST是固定偏移时区标识:永久绑定UTC-5的时间偏移,完全不响应夏令时规则,无论测试日期在哪个时段,用这个参数计算出的时间永远比UTC时间慢5小时,不会做任何自动调整。
  • US/Eastern是IANA标准的区位时区标识:绑定了美国东部地区完整的时制切换规则,会根据传入的日期自动匹配对应偏移:
    • 夏令时时段(2007年至今执行规则为每年3月第二个周日至11月第一个周日,你测试的6月28日正处于该区间)自动使用EDT偏移,即UTC-4
    • 冬令时时段自动切换为UTC-5的偏移,也就是大家常说的标准时EST

你测试时出现1小时时差,就是因为6月的东部地区正执行夏令时,US/Eastern自动用了UTC-4的偏移,而EST固定按UTC-5计算,自然差出一小时。可以参考如下复现代码:

from datetime import datetime
from zoneinfo import ZoneInfo

# 取测试当日的UTC基准时间
utc_test_time = datetime(2022, 6, 28, 12, 0, 0, tzinfo=ZoneInfo("UTC"))
print(utc_test_time.astimezone(ZoneInfo("US/Eastern")))
# 输出:2022-06-28 08:00:00-04:00 (夏令时EDT,偏移-4)
print(utc_test_time.astimezone(ZoneInfo("EST")))
# 输出:2022-06-28 07:00:00-05:00 (固定偏移-5)

注意:如果需要获取纽约、多伦多、蒙特利尔这类北美东部城市的准确本地时间,不要使用EST这类固定偏移的三字母缩写作为时区参数,应当使用标准IANA区位ID:美国境内选US/Eastern/America/New_York,加拿大境内选America/Toronto即可,这几个ID对应的夏令时切换规则目前完全一致,不会出现时间偏差。

内容的提问来源于stack exchange,提问作者Farzad Amirjavid

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 15:33:17