我遇到了以下代码:
datetime.datetime.utcnow().replace(tzinfo=tzutc())
我看不出replace()调用在做什么,从阅读文档来看,它似乎将其转换为UTC时间戳-但可以肯定的是,utknow()将返回UTC时间戳。
datetime.datetime.utcnow()
# returns datetime.datetime(2013, 4, 4, 10, 39, 1, 303329)
给出不含tzinfo
信息的UTC当前日期时间:
.replace(tzinfo=tzutc())
# returns datetime.datetime(2013, 4, 4, 10, 39, 1, 303329, tzinfo=<UTC>)
将这个tzinfo信息添加到datetime对象。
您可以使用以下命令获得相同的(使用UTC tzinfo的UTC当前日期时间):
datetime.datetime.now(pytz.utc)
# returns datetime.datetime(2013, 4, 4, 10, 39, 1, 303329, tzinfo=<UTC>)
这只是调用datetime.replace()
,这个特殊的用法在文档页面上提到了很多。
这是有用的,因为datetime.datetime.utcnow()
返回没有时区信息的datetime
(tzinfo
将是None
): replace()
调用用于更改。