误解了时区转换

时间:2016-11-08 12:24:20

标签: python timezone

我正在将日期时间转换为另一个时区(从欧洲/巴黎到美国/瓜德罗普岛)。但结果不是我所期望的:

import pytz
import datetime

tzinfo = pytz.timezone('Europe/Paris')
datetime_with_timezone = datetime.datetime(
    2000, 1, 1, 0, 0, 0, tzinfo=tzinfo
)

print(datetime_with_timezone)
new_tzinfo = pytz.timezone('America/Guadeloupe')
print(datetime_with_timezone.astimezone(new_tzinfo))

产地:

2000-01-01 00:00:00+00:09
1999-12-31 19:51:00-04:00

为什么datetime_with_timezone包含+00:09

1 个答案:

答案 0 :(得分:0)

根据pytz documentation

,这似乎是一个已知问题
  

不幸的是,对于许多时区,使用标准日期时间构造函数的'tzinfo参数''与pytz不起作用。

文档提供了进一步的建议

  

处理时间的首选方法是始终使用UTC,仅在生成输出以供人类阅读时转换为本地时间。