python来说很新,我什至很难在谷歌上搜索这个,因为我不知道这是什么时间格式。
时间格式 :'2019-12-13T17:00:54.942Z'
我尝试了以下方法:
from datetime import datetime
'created_at': datetime.strptime(saved_data['created_at'],"%Y-%m-%dT%H:%M:%SZ")
基本上,我想打印出上面提到的时间格式的人类可读字符串。
谢谢!
试试这个:
from dateutil import parser
from datetime import datetime
datetime_obj = parser.parse(saved_data['created_at'])
readable = datetime.strftime(datetime_obj,'%Y-%m-%d %H:%M:%S')
print (readable)
输入日期格式为 RFC 3339 格式
使用pyRFC3339
python 模块是解析/生成RFC3339格式时间戳与 python datetime.datetime 对象的最简单方法。
>>> 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
>>>
Pythondatetime
有一个专门用于做到这一点的方法 -.isoformat()
。
from datetime import datetime
datetime_object = parser.parse(saved_data['created_at'])
data = {
'created_at': datetime_object.isoformat()
}
将格式化字符串转换为日期时间对象datetime.strptime
后ISO8601,您可以:
- 按
.replace(microsecond=0)
删除毫秒 - 通过
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)