Как я могу извлечь временную метку из словаря и преобразовать ее в объект datetime?

#python #datetime #timestamp

#python #datetime #временная метка

Вопрос:

У меня есть словарь временных меток в этой форме 2011-03-01 17:52:49.728883 и идентификаторы. Как я могу извлечь последнюю временную метку и представить ее в python datetime object?

Суть в том, чтобы иметь возможность использовать последнюю дату временной метки вместо текущей даты в приведенном выше коде.

 latest = datetime.now()
  

Ответ №1:

Структура вашего словаря не совсем ясна из вашего вопроса, поэтому я предположу, что ключи представляют собой строки, содержащие временные метки, подобные той, что указана в вашем вопросе.

Если d является словарем:

datetime.strptime(max(d.keys()),'%Y-%m-%d %H:%M:%S.%f')

Приведенный выше код использует тот факт, что лексикографический порядок ваших строк datetime сортирует временные метки в хронологическом порядке. Если вы предпочитаете не полагаться на это, вы могли бы использовать:

max(map(lambda dt:datetime.strptime(dt,'%Y-%m-%d %H:%M:%S.%f'),d.keys()))