我有以下日期时间字符串 s
:
2017-10-18T04:46:53.553472514Z
我这样分析它:
t = datetime.strptime(s, '%Y-%m-%dT%H:%M:%SZ')
如何修复ValueError:时间数据 '2017-10-18T04:46:53.553472514Z'
与格式不匹配 '%Y-%m-%dT%H:%M:%SZ'
原文由 user6611764 发布,翻译遵循 CC BY-SA 4.0 许可协议
我有以下日期时间字符串 s
:
2017-10-18T04:46:53.553472514Z
我这样分析它:
t = datetime.strptime(s, '%Y-%m-%dT%H:%M:%SZ')
如何修复ValueError:时间数据 '2017-10-18T04:46:53.553472514Z'
与格式不匹配 '%Y-%m-%dT%H:%M:%SZ'
原文由 user6611764 发布,翻译遵循 CC BY-SA 4.0 许可协议
我认为你应该使用 dateutil.parser 模块
In [23]: s = "2017-10-18T04:46:53.553472514Z"
In [24]: import dateutil.parser as p
In [25]: p.parse(s)
Out[25]: datetime.datetime(2017, 10, 18, 4, 46, 53, 553472, tzinfo=tzutc())
原文由 not_python 发布,翻译遵循 CC BY-SA 3.0 许可协议
4 回答4.4k 阅读✓ 已解决
1 回答3.1k 阅读✓ 已解决
4 回答3.8k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
1 回答4.4k 阅读✓ 已解决
1 回答3.9k 阅读✓ 已解决
1 回答2.8k 阅读✓ 已解决
理论上,
将是正确的格式字符串,因为您也有几分之一秒。但是他们需要微秒。你的可能是纳秒,因为
%f
最多只需要 6 位数字。所以你需要做这样的事情:
这有效,但它将纳秒转换为微秒。如果这不行,那么您需要做其他事情。