我需要产生一个与iso格式匹配的时间字符串yyyy-mm-ddThh:mm:ss.ssssss- ZO:NE。在now()和utcnow()类方法几乎做我想做的。
yyyy-mm-ddThh:mm:ss.ssssss- ZO:NE
now()
utcnow()
>>> import datetime >>> #time adjusted for current timezone >>> datetime.datetime.now().isoformat() '2010-08-03T03:00:00.000000' >>> #unadjusted UTC time >>> datetime.datetime.utcnow().isoformat() '2010-08-03T10:00:00.000000' >>> >>> #How can I do this? >>> datetime.datetime.magic() '2010-08-03T10:00:00.000000-07:00'
要在Python 3.2+中获取UTC的当前时间:
>>> from datetime import datetime, timezone >>> datetime.now(timezone.utc).isoformat() '2015-01-27T05:57:31.399861+00:00'
要在Python 3.3+中获取本地时间:
>>> from datetime import datetime, timezone >>> datetime.now(timezone.utc).astimezone().isoformat() '2015-01-27T06:59:17.125448+01:00'
说明:以UTC时间datetime.now(timezone.utc)产生一个时区感知datetime对象。如果没有参数调用astimezone(),则将datetime对象的时区更改为系统的区域设置时区。datetime然后,时区感知对象会自动生成正确的ISO格式。
datetime.now(timezone.utc)
datetime
astimezone()