时区转换错误



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

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

这似乎是一个已知的问题,根据pytz文档:

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

文档提供了进一步的建议

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

相关内容

  • 没有找到相关文章

最新更新