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

Python计算不同时区当前时间异常:以纽时差不符求助

问题原因及解决方案
  • 核心问题:你使用的EST是固定时区(东部标准时间,GMT-5),它不会自动切换夏令时。而纽约在夏令时(EDT)期间需要使用包含夏令时规则的时区标识符,而非固定的EST。
  • pytz中,EST属于静态时区,不包含夏令时切换逻辑;正确的做法是使用'America/New_York'这个时区,它会根据日期自动切换EDT(夏令时)和EST(标准时间)。

修正后的代码

from pytz import timezone
from datetime import datetime

tz1 = timezone('Israel')
dt1 = datetime.now(tz1)
# 使用包含夏令时规则的纽约时区
tz2 = timezone('America/New_York')
dt2 = datetime.now(tz2)
print(f'{dt1}  vs  {dt2} ')

验证结果

修正后,纽约时间会自动应用EDT(GMT-4),此时以色列(IDT,GMT+3)与纽约的时差为7小时,和理论值一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 19:05:00