用python排序日期

use*_*896 2 python sorting datetime iso8601

我有一个像下面这样的字符串列表.

>>> mylist = ["2013-09-07T11:23:43", "2013-09-05T15:14:12", "2013-10-13T22:06:22", "2013-11-16T23:01:34", "2013-12-22T23:11:54"]
Run Code Online (Sandbox Code Playgroud)

我想对它们进行排序,因为它们是日期.

>>> mylist.sort()
Run Code Online (Sandbox Code Playgroud)

这似乎按照我的意愿工作,但是这总是适用于这种格式的任何日期吗?

>>> mylist
['2013-09-05T15:14:12', '2013-09-07T11:23:43', '2013-10-13T22:06:22', '2013-11-16T23:01:34', '2013-12-22T23:11:54']
Run Code Online (Sandbox Code Playgroud)

Mar*_*ers 8

是的,适用于该格式的任何日期,因为它们是:

  1. 使用相同的长度,零填充数字
  2. 以相同的顺序
  3. 以最重要到最不重要的顺序排列; 年,月,日,小时,分钟,秒

这使得它们可以按字典顺序排序,这正是排序所适用的顺序.