My GPS, с помощью GPSD, плюет назад время в форматеstrptime, формат и сохранение миллисекунды
time_string = '1582-10-04T12:34:56.000Z'
Я могу превратить эту строку в часовой пояс известен datetime
объекта с
from datetime import datetime, timedelta, timezone
timeformat = '%Y-%m-%dT%H:%M:%S.000Z' # ISO8601
datetime.strptime(time_string, timeformat).replace(tzinfo=(timezone(timedelta(0))))
... который прохладный. Я могу, чем манипулировать объектом, добавлять, вычитать, изменять временные интервалы, вычислять временную дельта, включая изменение часового пояса, и т. Д.
Проблема в том, что некоторые аспекты приложения возвращают временную строку с прикрепленными миллисекундами.
time_string = '1582-10-04T12:34:56.123Z'
... и все ад.
.strip('Z')
не делает.
timeformat = '%Y-%m-%dT%H:%M:%S
< --without .000
или .000Z
не работает либо как ни b.strip('.000Z')
или их перестановки.
Я не могу найти элегантный способ сохранить миллисекунду (ы), если и когда они возникнут, и проанализировать строку в объекте datetime, соответствующем часовому поясу.
Кровавый ад. Я так много раз заглядывал. Благодарю. – Nodak