gpt4 book ai didi

python - 这个 python 时区转换有什么问题?

转载 作者:行者123 更新时间:2023-11-28 21:59:44 24 4
gpt4 key购买 nike

我想用 US/Eastern 转换日期时间时区为 Budapest/Europe这样的时区:

import pytz
from datetime import datetime

ET = pytz.timezone('US/Eastern')
CET = pytz.timezone('Europe/Budapest')

time = datetime(2013, 04, 18, 0, 0, tzinfo=ET)
newTime = time.astimezone(CET)

这个结果newTime being: datetime.datetime(2013, 4, 18, 7, 0, tzinfo=<DstTzInfo 'Europe/Budapest' CEST+2:00:00 DST>) , 但它应该是 2013,04,18,6,0根据 time.istimeanddate.com转换器。我做错了什么?

最佳答案

这是因为夏令时问题。传递给 datetime 的时间在 ET 中,而不是 EDT,因此是结果。

看看pytz 文档,首选方法是使用localize 方法,而不是传递tzinfo。如果您修改代码以使用以下行,您将获得预期的结果:

time = ET.localize(datetime(2013, 04, 18, 0, 0))

关于python - 这个 python 时区转换有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16114631/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com