gpt4 book ai didi

python - utcoffset 方法在 datetime 中的作用 - Python

转载 作者:太空宇宙 更新时间:2023-11-03 14:58:22 26 4
gpt4 key购买 nike

我知道这个问题的答案通常是“转到 Python's documentation”。我已阅读它,但仍不能 100% 确定 uctcoffset 方法的作用。

我假设它采用时区 - utc 并给出差异,但我需要 100% 确定。

最佳答案

datetimeutcoffset 方法为您提供日期时间的“挂钟”时间与同一时间点的“挂钟”时间之间的差异在 UTC 中,因此,完全符合您的预期 (dt - dt_as_utc)。它是一个函数的原因是对于许多时区(例如夏令时),偏移量会在一年中发生变化。例如:

from datetime import datetime, timedelta
from dateutil import tz

NYC = tz.gettz('America/New_York') # Note: ambiguous time support
# requires version >= 2.6.0, be aware.

dt1 = datetime(2015, 5, 21, 12, 0, tzinfo=NYC) # EST
dt2 = datetime(2015, 12, 21, 12, 0, tzinfo=NYC) # EDT

print(dt1.utcoffset() / timedelta(hours=1))
# -4
print(dt1.tzname())
# EDT


print(dt2.utcoffset() / timedelta(hours=1))
# -5
print(dt2.tzname())
# EST

如您所见,这同样适用于 tzname() 函数。对于原始日期时间(没有日期时间的那些),utcoffset()tzname() 都应该返回 None

请注意,我通常建议不要使用此函数计算 UTC 时间戳,而应该使用astimezone()dateutil.tz.tzutcpytz.UTC 或者,如果您使用的 Python 版本 >= 3.2,则可以使用 datetime.timezone.utc对象。

关于python - utcoffset 方法在 datetime 中的作用 - Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40695295/

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