首页 > 解决方案 > python: 为什么 datetime.now() 的 tzinfo 没有?

问题描述

我的时区不是 UTC。当我得到日期时间时,datetime.now()我得到本地时间,但该tzinfo字段的值为none

我在 python 2.7 和 python 3.6.7 中看到了相同的结果。

我希望获得时区信息或时间偏移值。这是为什么 ?有没有办法根据需要获取 ISO 时间格式的时间偏移量? 

标签: python

解决方案


这是因为now将获取任何特定时区的当前时间,默认情况下它将为您提供您所在的当前时区的日期时间对象(或您的计算机设置为)。

您可以通过将该时区传递给now函数来获取任何其他时区的当前时间。

In [1]: from datetime import datetime

In [2]: import pytz  # 3rd party: $ pip install pytz

In [4]: datetime.now()
Out[4]: datetime.datetime(2019, 2, 12, 20, 10, 2, 778532)

In [5]: datetime.now(pytz.utc)
Out[5]: datetime.datetime(2019, 2, 12, 14, 40, 4, 334078, tzinfo=<UTC>)

推荐阅读