小编典典

如何获取包括默认时区的isoformat日期时间字符串?

python

我需要产生一个与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'

阅读 236

收藏
2021-01-20

共1个答案

小编典典

要在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格式。

2021-01-20