python: 为什么 datetime.now() 的 tzinfo 是 None?

24 浏览
0 Comments

python: 为什么 datetime.now() 的 tzinfo 是 None?

我的时区不是UTC。当我使用datetime.now()获取日期时间时,我得到的是本地时间,但tzinfo字段的值为none。\n我在Python 2.7和Python 3.6.7中得到了相同的结果。\n我希望能获取时区信息或时间偏移值。为什么会这样?有没有办法获取ISO时间格式所需的时间偏移值?

0
0 Comments

问题出现的原因是因为datetime.now()默认返回当前时区的时间,如果当前时区没有设置tzinfo信息,则返回的tzinfo为None。

解决方法是通过传入所需的时区信息来获取该时区的当前时间。可以使用pytz库来获取不同时区的时间信息。

具体代码如下:

from datetime import datetime
import pytz
# 获取当前时区的时间
now = datetime.now()
print(now)
# 获取UTC时区的时间
now_utc = datetime.now(pytz.utc)
print(now_utc)

运行以上代码,将会输出当前时区的时间和UTC时区的时间。

0