如何按 ['2020-05-27 15:26:57', '2020-05-22 16:40:58'] 的格式从旧到新排序日期和时间?

How can I sort a date and time from oldest to newest in the format of ['2020-05-27 15:26:57', '2020-05-22 16:40:58']?

在 bzr 存储库中,我可以使用

来自不同修订提交的 return 时间戳

branch.repository.get_revision(revision_id).timestamp

获取时间戳后,我可以使用:datetime.fromtimestamp(timestamp).strftime('%Y-%m-%d %H:%M:%S') 获取 2020-05-27 15:26:57.

的格式

我将把其中的一些存储到一个列表中,然后我需要从最旧的日期和时间到最新的日期和时间对它们进行排序。我查看了这里已经存在的其他一些问题,但 none 的答案似乎很容易转化为这种情况。

由于日期和时间已经从最有影响力到最没有影响力排序,只需使用列表的内置 sort() 方法。

list = [timestamp_1, timestamp_2, ...]
list.sort()  # now its sorted

这是可行的,因为您所有的 dates/times 都具有相同的格式等等。

为了加快速度,您也可以省略字符串转换,只使用 unix-timestamp 进行排序。您以后总是可以使用您的方法将 is 转换为字符串,以使其可读。

调用列表中的 sorted() 应该可以解决问题:

lst = ['2020-05-27 15:26:57','2020-06-27 15:26:57','2020-03-27 15:26:57']
sorted(lst)

Output: ['2020-03-27 15:26:57', '2020-05-27 15:26:57', '2020-06-27 15:26:57']

我们也可以使用lst.sort()来完成以下操作:

lst.sort()
lst
Output: ['2020-03-27 15:26:57', '2020-05-27 15:26:57', '2020-06-27 15:26:57']