使用Python对包含日期的字符串进行排序



我有一堆这种格式的字符串。

[24/4/2018 15:47:20] doctor's appt
[22/8/2016 11:47:09] workshop @ block 3
[24/4/2018 15:45:33] buy eggs
[31/2/2017 13:44:40] good day
[31/2/2017 13:44:35] flight

我试着用Python根据日期和时间按升序对它们进行排序,但我真的搞不清楚。我真的很感激你的帮助。

编辑:嗨,伙计们,非常感谢你们抽出时间来帮助我。能够解决它,很感激。

忽略31/2/2017是无效的日期,这应该为您做:

from datetime import datetime

lst = []
file = open('dates.txt', 'r')
for line in file.readlines():
formatStr = '[%d/%m/%Y %H:%M:%S]'
datePart = ' '.join(line.split(' ')[0:2])
dateobj = datetime.strptime(datePart, formatStr).date()
lst.append((dateobj, line))
print(lst)
print(sorted(lst))

这假设您的所有日期都在一个名为dates.txt的文件中,每行一个,格式为您指定的格式。

相关内容

  • 没有找到相关文章

最新更新