如何按以下格式对日期进行排序:day/month/year hour:min:sec

How can I sort a date in format: day/month/year hour:min:sec

已解决:不知道为什么现在搁置了,Damian Yerrick 帮助解决了这个问题,他和我都很清楚。谢谢!

编辑:有人提到使用日期时间,但我不明白如何将其与将整个列表作为一个排序合并,当我拆分每个元组时:

我有点困惑如何排序,我需要把它分开吗?现在仅按日期排序。格式如下:

(31/03/2016 19:42:28, 值)

def sortDB(tupleList):
    dtList = []

    for tuple in tupleList:
        dt = datetime.datetime.strptime(tuple[0], "%d/%m/%Y %H:%M:%S")
        dtList.append(dt)

    #Not sure how to get to here... AND keep the same date format I had in the beginning as I don't want it to change
    sortedKeyList = sorted(tupleList, key=itemgetter(0), reverse=True)

Python 中的排序基于从每个项目派生的 "key"。它将每个项目翻译成一个键,根据键对项目进行排序,然后丢弃键,留下原始项目。 Python 通常使用项目本身作为键,对于元组,这与使用具有正常比较行为的元组元素相同。您需要创建一个覆盖默认键派生的函数,然后告诉 Python 在对原始项目进行排序时使用该函数。

def getDateFromTuple(tuple):
    return datetime.datetime.strptime(tuple[0], "%d/%m/%Y %H:%M:%S")

sortedKeyList = sorted(tupleList, key=getDateFromTuple, reverse=True)

这样,Python 的 sorted() 函数将对正在排序的序列的每个元素调用 key 函数(在本例中为 getDateFromTuple())(tupleList).这导致 Python 按解析日期而不是每个元组中的文字字符串对 tupleList 的元素进行排序。

关于key的另一种解释,参见the section "Key Functions" in Python Sorting HOW TO and the documentation for sorted()