Why does datetime.datetime.utcnow() not contain timezone information?

前端 未结 9 1067
南方客
南方客 2020-11-29 16:12
datetime.datetime.utcnow()

Why does this datetime not have any timezone info given that it is explicitly a UTC datetime?<

9条回答
  •  轻奢々
    轻奢々 (楼主)
    2020-11-29 17:12

    Note that for Python 3.2 onwards, the datetime module contains datetime.timezone. The documentation for datetime.utcnow() says:

    An aware current UTC datetime can be obtained by calling datetime.now(timezone.utc).

    So, datetime.utcnow() doesn't set tzinfo to indicate that it is UTC, but datetime.now(datetime.timezone.utc) does return UTC time with tzinfo set.

    So you can do:

    >>> import datetime
    >>> datetime.datetime.now(datetime.timezone.utc)
    datetime.datetime(2014, 7, 10, 2, 43, 55, 230107, tzinfo=datetime.timezone.utc)
    

提交回复
热议问题