关于Python中的pytz模块和time模块
Regarding the pytz module and the time module in Python
我是 Python 的初学者,正在尝试了解如何使用日期和时间。你能帮我理解以下概念吗?
在时间模块中,我们可以通过以下方式获取本地时区,
import time
if time.daylight:
local_timezone_name = time.tzname[0]
utc_offset = time.timezone
else:
local_timezone_name = time.tzname[1]
utc_offset = time.altzone
所以我想澄清的是,
- 在处理本地时区时只使用上面的时间模块而不是使用 pytz 模块就足够了吗?如果不是,为什么需要 pytz 模块?
- 在 Python 中处理日期和时间时使用 pytz 模块有什么好处? (我不明白 它与 Python 已经内置的东西有何不同,以及它如何有效地处理日期和时间?)
谢谢。
说来话长。
注意:pytz 现在已过时(两周后),因此使用 Python 3.9 您可以直接使用标准库。
问题:pytz 的更新独立于 Python 版本,因此它可能会随着时区的变化而快速变化。在一周左右的时间内,一个国家决定改变夏令时的实施并不少见。如果您不经常更新,这将导致使用标准 Python 的很多问题(并且需要很多负担,仅更新时区文件中的一行)。所以 Python 不包括时区信息,但对于 UTC(但它可以处理时间偏移和夏令时标志),以及一些关于您当地时区(和 ev. daylight)的信息。
现在看来他们找到了解决方案,但是 Python 3.9 非常新(两周前发布)。
因此,如果您没有 python 3.9,pytz 是您的不二之选。您已更新时区和夏令时。