Я анализирую логи этой программы и не могу получить доступ к исходному коду программы.
Журнал содержит интересную метку времени события в записи журнала -
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 или чего-либо еще)?