从日期字符串列表中获取最大日期

Getting the max date from a list of date strings

我有一个字符串形式的日期列表:

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

我想获取最新的日期。但是,我不能只对这个列表使用 max()

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

有没有更简单的方法(mod或库)?

您可以使用 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)