Получение максимальной даты из списка строк даты - PullRequest
0 голосов
/ 14 сентября 2018

У меня есть список дат в виде строк:

dates = ['12/24/2017','7/7/2011','3/5/2016', '4/21/2018']

Я хочу получить самую последнюю дату. Однако я не могу просто использовать max() для этого списка.

max(dates)
>>> `7/7/2011'

Есть ли более простой способ (мод или библиотека)?

1 Ответ

0 голосов
/ 14 сентября 2018

Вы можете использовать max(), но вы должны использовать параметр key для преобразования строки даты в истинные даты, чтобы они правильно сравнивались, например:

In []:
from datetime import datetime
max(dates, key=lambda d: datetime.strptime(d, '%m/%d/%Y'))

Out[]:
'4/21/2018'

Вы можете преобразовать их все истинные датыа затем просто позвоните max():

In []:
dates = [datetime.strptime(d, '%m/%d/%Y') for d in dates]
max(dates)

Out[]:
datetime.datetime(2018, 4, 21, 0, 0)
...