我有一个日期列表作为字符串:
dates = ['12/24/2017','7/7/2011','3/5/2016', '4/21/2018']
我想获得最新的约会。但是,我不能只使用max()
这个列表。
max(dates)
>>> `7/7/2011'
有更简单的方法(mod或库)吗?
你可以使用max()
,但你必须使用key
param将日期字符串转换为真实日期,以便它们正确比较,例如:
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)