gpt4 book ai didi

python - pytz:为什么这些不同的方法会给出不同的 UTC 偏移量?

转载 作者:太空宇宙 更新时间:2023-11-03 15:27:02 24 4
gpt4 key购买 nike

当使用 pytz 在特定时区创建 datetime 对象时,我得到不同的 UTC 偏移量,具体取决于我使用的是 datetime.datetime() 还是 datetime .datetime.now().

now() 似乎给出了正确的时区 UTC 偏移量,datetime() 给出了一个我无法识别的偏移量。

为什么不同? datetime() 分配的偏移量有什么意义?

这是我的代码:

import datetime
import pytz

la_paz = pytz.timezone('America/La_Paz')

a = datetime.datetime.now(la_paz)
print a, a.utcoffset()

# 2011-03-22 05:30:13-04:00 -1 day, 20:00:00
# -4 hours is the correct UTC offset for La Paz

b = datetime.datetime(2011, 03, 22, 5, 30, tzinfo=la_paz)
print b, b.utcoffset()

# 2011-03-22 05:30:00-04:33 -1 day, 19:27:00
# What is the significance of -4:33?

最佳答案

似乎 datetime() 将默认使用该地区第一个记录的时区,并且在许多情况下(例如在拉巴斯)这是旧的并且不再有效。

日期时间必须先天真地创建,然后像这样本地化:

b = la_paz.localize(datetime.datetime(2011, 03, 22, 5, 30))
print b, b.utcoffset()

now() 似乎自动进行本地化。

关于python - pytz:为什么这些不同的方法会给出不同的 UTC 偏移量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5389506/

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