Для таких проблем стоит посмотреть на модуль datetime
и его функцию parser.parse
, которая анализирует любую строку даты и времени без необходимости указывать формат!
from dateutil import parser
dt_obj = parser.parse('2019-05-12T14:52:13.136621898Z')
print(dt_obj)
Также самый близкий форматчто соответствует вашему требованию: '%Y-%m-%dT%H:%M:%S.%fZ'
, которое работает с 2019-05-12T14:52:13.136621Z
, где '.% f` инкапсулирует микросекунды с 6 десятичными знаками, но, поскольку у вашего десятичного знака есть 9 десятичных знаков, это не сработает для вас!