猿问

如何用Z字母解析日期时间,分号后没有指定秒数

我正在解析该程序的日志,但未访问该程序的源代码。


日志在日志记录中包含一个有趣的事件时间戳 – 2018-11-02T06:25:03870000Z。这对我来说看起来很奇怪,我不知道它有多正确。但我倾向于认为03974200Z描述了一个秒 ( %s) 部分,我想尽可能多地从这个记录中收集信息。


我正在尝试像这样从 Python 3.7 解析这个例子:


d = '2018-11-02T06:25:03870000Z'

dt.datetime.strptime(d, '%Y-%m-%dT%H:%M:%S')

它会产生一个可预测的错误:


Traceback (most recent call last):

File "<input>", line 1, in <module>

File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/_strptime.py", line 577, in _strptime_datetime

tt, fraction, gmtoff_fraction = _strptime(data_string, format)

File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/_strptime.py", line 362, in _strptime

data_string[found.end():])

ValueError: unconverted data remains: 870000Z

更新:我对此有肮脏的解决方案,但如果有比这更好的方法来执行此类操作:


sc = d.split(':')[-1][:2]

dd = d.split(':')

en = ':'.join(dd[:-1]) 

en += ':' + sc

>> en

'2018-11-02T06:25:03'

问题:


如何正确解析这样的日期时间(03在示例中确定为秒的一部分)?

(可选) Idk。但是日志中的这个日期时间示例是否正确(就 ISO 而言)?


不负相思意
浏览 132回答 2
2回答
随时随地看视频慕课网APP

相关分类

Python
我要回答