我有一堆这种格式的字符串。
[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
的文件中,每行一个,格式为您指定的格式。