如何获取包括默认时区的isoformat日期时间字符串?
我需要产生一个与iso格式匹配的时间字符串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格式。