Python 名称错误:名称';UTC';没有定义
Python 名称错误:名称';UTC';没有定义,python,datetime,Python,Datetime,datetime.datetime.now()的输出以我的本地时区UTC-8输出。我想把它转换成一个带有UTC tzinfo的适当时间戳 from datetime import datetime, tzinfo x = datetime.now() x = x.replace(tzinfo=UTC) ^输出名称错误:未定义名称“UTC” x.replace(tzinfo=)输出语法错误:无效语法 x.replace(tzinfo='UTC')输出类型错误:tzinfo参数必须为None或tz
datetime.datetime.now()的输出以我的本地时区UTC-8输出。我想把它转换成一个带有UTC tzinfo的适当时间戳
from datetime import datetime, tzinfo
x = datetime.now()
x = x.replace(tzinfo=UTC)
^输出名称错误:未定义名称“UTC”
x.replace(tzinfo=)
输出语法错误:无效语法
x.replace(tzinfo='UTC')
输出类型错误:tzinfo参数必须为None或tzinfo子类,而不是类型“str”
要完成我的示例,正确的语法是什么?您需要使用额外的库,例如pytz
。Python的datetime
模块不包括任何tzinfo
类,包括UTC,当然也不包括您的本地时区
编辑:从datetime
模块开始,包含一个带有utc
成员的timezone
对象。获取当前UTC时间的标准方法是:
from datetime import datetime, timezone
x = datetime.now(timezone.utc)
对于其他时区,您仍然需要另一个库,例如pytz
。如果您要查找的是现在UTC的时间,datetime有一个内置的:
x = datetime.utcnow()
不幸的是,它没有包含任何tzinfo,但它确实提供了UTC时间
或者,如果您确实需要tzinfo,可以执行以下操作:
from datetime import datetime
import pytz
x = datetime.now(tz=pytz.timezone('UTC'))
您可能还对时区列表感兴趣:Python的标准库不包括任何tzinfo类,包括UTC。文档中确实包含了创建一个的说明。谢谢!对于那些好奇的人,最终使用了x.replace(tzinfo=pytz.utc)+timedelta(小时数=8)