将TZ时间转换为字符串

时间:2019-12-30 14:02:44

标签: python datetime

对于python来说还很新,我什至在Google上搜索它都遇到了困难,因为我不知道这是什么时间格式。

时间格式:'2019-12-13T17:00:54.942Z'

我尝试了以下方法:

from datetime import datetime

'created_at': datetime.strptime(saved_data['created_at'],"%Y-%m-%dT%H:%M:%SZ")

基本上我想打印出上面提到的时间格式的人类可读字符串。

谢谢!

4 个答案:

答案 0 :(得分:0)

尝试一下:

myObj

答案 1 :(得分:0)

您输入的日期格式为RFC 3339格式

使用pyRFC3339 python模块是在python datetime.datetime对象之间解析/生成RFC3339格式化时间戳的最简单方法。

>>> import pyrfc3339
>>> ts='2019-12-13T17:00:54.942Z'
>>> new_ts = pyrfc3339.parse(ts)
>>> new_ts
datetime.datetime(2019, 12, 13, 17, 0, 54, 942000, tzinfo=<UTC>)
>>> print(new_ts.strftime("%Y-%m-%d %H:%M:%S"))
2019-12-13 17:00:54
>>>

答案 2 :(得分:0)

Python datetime具有专门用于实现此目的的方法-.isoformat()

from datetime import datetime

datetime_object = parser.parse(saved_data['created_at'])
data = {
    'created_at': datetime_object.isoformat()
}

答案 3 :(得分:0)

将ISO8601格式的字符串转换为日期时间对象datetime.strptime之后,您可以:

  1. 将毫秒删除.replace(microsecond=0)
  2. 通过str(some_datetime_obj)字符串化结果

尝试一下:

from datetime import datetime

some_iso8601_str = '2019-12-13T17:00:54.942Z'
datetime_str = str(datetime.strptime(some_iso8601_str, '%Y-%m-%dT%H:%M:%S.%fZ').replace(microsecond=0))
print(datetime_str)