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

发布于 2021-01-29 15:10:32

我需要产生一个与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'
关注者
0
被浏览
58
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

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



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看