在Python中对日期和时间进行排序

Python是一种高级的、解释性的编程语言,全世界的程序员都在使用。它在面向对象编程方面最为著名。

我们可以在与人工智能、机器学习、网络开发和数据分析有关的不同IT领域使用Python。Python流行和实用的另一个原因是,它有许多内置的库和模块。

这篇文章将教我们如何使用Python对日期和时间进行排序。我们还将学习datetime 模块和sorted 方法。

在Python中对日期和时间进行排序

我们可以用Python做的一个功能是对日期和时间进行排序。可能有这样的情况,我们需要对一些给定的日期和时间进行排序。

例如,如果有一个不同日期和时间的列表,我们需要将它们设置为升序或降序,我们可以用Python对它们进行排序。

Python中的datetime 模块

在做任何事情之前,都应该有日期和时间来排序。Python 为我们提供了datetime 模块,可以轻松地处理日期和时间。

datetime 模块下有六个主要的类:date,time,datetime,timedelta,tzinfo, 和timezone

sorted() 方法

sorted() 是Python中的一个内置函数,我们可以用它来对一个列表中的元素进行排序。 方法的语法如下。sorted()

sorted(iterable, key=key, reverse=reverse)

这里的iterable 是指我们需要排序的序列或迭代器。它可以是一个元组,一个列表,或者一个字典。

keyreverse 是我们可以给sorted 函数的可选值。

如果我们想决定排序顺序,key 是一个我们可以执行的函数,以实现它。默认值是none

reverse 是一个布尔值,它考虑了truefalse 的值。如果我们将true 作为值,我们将按降序排序,如果我们将false 作为值,我们将按升序排序。

reverse 的默认值是false

我们可以用这个方法对日期和时间进行排序。让我们来看看我们如何做到这一点。

使用sorted() 方法对日期进行排序

第一步,我们应该从datetime 模块中导入datetime 方法,因为我们要处理的是日期和时间。

from datetime import datetime

然后我们可以定义一个带有一些随机日期的列表。

dateList = ["2022-10-07", "2022-10-04", "2022-10-31", "2022-10-01"]

这里我们添加的日期有相同的年份和月份,但有不同的日期。让我们尝试对它们进行排序,并得到输出结果。

print(sorted(dateList))

在上面的语句中,我们在print() 函数中使用了sorted() 方法。此外,我们还可以将该方法分配给一个变量并打印出来。

sortedDateList = sorted(dateList)
print(sortedDateList)

这两个语句给我们的输出是一样的。在这个例子中,我们使用第一个方法。

完整的代码:

from datetime import datetime
dateList = ["2022-10-07", "2022-10-04", "2022-10-31", "2022-10-01"]
print(sorted(dateList))

输出:

在Python中对日期和时间进行排序

正如你所看到的,日期已经被按升序排序了。

让我们通过添加reverse 属性来对它们进行降序排序,其值为true

print(sorted(dateList, reverse=True))

运行该代码后,我们将得到一个如下的结果。

在Python中对日期和时间进行排序

如上图所示,我们可以将日期按降序排序。

现在让我们用不同的年份和月份再试一下。

dateList = ["2022-10-07", "2021-10-07", "2021-09-07", "2020-10-07", "2020-10-01"]

然后,我们可以对它们进行排序,并像之前那样打印它们。

print(sorted(dateList))

现在我们将得到如下图所示的结果。

在Python中对日期和时间进行排序

使用sorted() 方法对时间进行排序

早些时候,我们试图对日期进行排序。现在让我们尝试用这个方法对不同的时间进行排序。

让我们从datetime 模块中导入datetime 方法。

from datetime import datetime

然后我们可以用不同的时间做一个列表。

timeList = ["14:00:00", "02:00:00", "10:00:00", "23:00:00", "05:00:00"]

现在让我们尝试对它们进行排序和打印。

print(sorted(timeList))

输出:

在Python中对日期和时间进行排序

作为输出,我们将得到升序排列的时间列表。就像我们之前做的那样,我们也可以将时间按降序排序。

print("n", sorted(timeList, reverse=True))

输出:

在Python中对日期和时间进行排序

如下图所示,让我们用不同的分和秒来改变时间。

timeList = ["14:03:29", "02:24:23", "10:02:59", "02:23:24", "10:03:00"]
print(sorted(timeList))

当我们运行该代码时,我们将得到以下预期的结果。

在Python中对日期和时间进行排序

使用sorted() 方法对日期和时间进行排序

在前面的步骤中,我们分别对日期和时间进行了排序。现在让我们尝试将日期和时间一起排序。

让我们创建一个新的列表:dateTimeList 。然后我们可以添加一些日期和不同的时间,如下面的代码块所示。

dateTimeList = ["2022-10-07 14:03:29", "2022-10-08 02:01:23", "2022-10-07 10:02:59", "2022-10-07 02:01:24"]

正如你所看到的,这里有四个日期和不同的时间。让我们看看我们是否能通过这个方法得到分类的列表。

print(sorted(dateTimeList))

输出:

在Python中对日期和时间进行排序

如上图所示,我们将得到一个日期和时间的排序列表。

总结

在本教程中,我们学习了一种Python技术:sorted() 方法来对日期和时间进行排序。

作为第一步,我们应该导入datetime 模块,并从中导入datetime 方法。只有这样,我们才能对日期和时间进行处理。

使用sorted() 方法,我们创建了具有不同日期和时间的列表,并对它们进行排序,作为理解这一概念的例子。还有其他方法可以对日期和时间进行排序,但这是 Python 提供给我们的一种简单的方法。