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

问题描述 投票:0回答:1

我有一个日期列表作为字符串:

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

我想获得最新的约会。但是,我不能只使用max()这个列表。

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

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

date python-3.6 datetime-format
1个回答
1
投票

你可以使用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)
© www.soinside.com 2019 - 2024. All rights reserved.