在 Python 中,有一个名为 的模块datetime
可以让我们处理日期和时间。它包含年、月、日格式的日期和时、分、秒格式的时间。本教程将向您展示如何使用此模块。
在该datetime
模块中,日期以以下格式表示:
yyyy-mm-dd
时间以以下格式表示:
hh:mm:ss
为了比较日期和时间,我们使用常用的比较运算符,例如>=, <=, >, <, ==, !=
。
考虑两个日期:d1 和 d2。
手术 | 意义 |
d1>d2 | 日历中 d1 在 d2 之后 |
d1<d2 | 日历中 d1 位于 d2 之前 |
d1==d2 | d1 与 d2 相同 |
同样,考虑两个时间:t1 和 t2。
手术 | 意义 |
t1>t2 | 时钟中 t1 在 t2 之后 |
t1<t2 | 时钟中 t1 先于 t2 |
t1==t2 | t1 与 t2 相同 |
所有上述操作都返回一个布尔值,即“True”或“False”,具体取决于是否满足给定条件。
在进行日期和时间比较之前,让我们首先了解一些基本datetime
方法。
Python 日期时间方法的示例
让我们直接跳到这里使用日期时间模块的示例。
1. 获取今天的日期
import datetime print (datetime.date.today()) |
输出:
2022-09-28 |
日期以 yyyy-mm-dd 格式表示。
2.获取当前时间
from datetime import datetime print (datetime.now().time()) |
输出:
12:40:36.221835 |
时间以 hh:mm:ss 格式表示。
日期和时间比较
1. 检查一个日期是否大于另一个日期
from datetime import datetime #date in the format yyyy-mm-dd date1 = datetime( 2022 , 5 , 15 ) date2 = datetime( 2012 , 4 , 15 ) print ( "Is date1 greater than to date2?: " , date1>date2) |
输出:
Is date1 greater than to date2?: True |
这里,日期 1 是 2022 年 5 月 15 日,日期 2 是 2022 年 4 月 15 日。由于日历中日期 1 位于日期 2 之后,因此输出为 true。
2. 检查一个日期是否小于另一个日期
from datetime import datetime #date in the format yyyy-mm-dd date1 = datetime( 2022 , 5 , 15 ) date2 = datetime( 2022 , 11 , 16 ) print ( "Is date1 less than to date2?: " , date1<date2) |
输出:
Is date1 less than to date2?: True |
在此示例中,date1 仍然是 2022 年 5 月 15 日,date2 是 2022 年 11 月 16 日。由于同一日历年中“May”出现在“November”之前,因此输出为 True。
3. 检查两个日期是否相等
from datetime import datetime #date in the format yyyy-mm-dd date1 = datetime( 2022 , 5 , 15 ) date2 = datetime( 2022 , 4 , 15 ) print ( "Is date1 equal to date2?: " , date1 = = date2) |
输出:
Is date1 equal to date2?: False |
这里,2022 年 5 月 15 日与 2022 年 4 月 15 日不同。因此,输出为 False。
在我们刚刚看到的示例中,只给出了日期,没有给出时间。让我们学习如何仅比较日期或仅比较时间(如果同时给出日期和时间)。
4. 仅比较日期
from datetime import datetime #datetime in the format yyyy-mm-dd hh:mm:ss #datetime1 -> date: 6 August, 2022 | time: 11:00:00 a.m. datetime1 = datetime( 2022 , 8 , 6 , 11 , 0 , 0 ) #datetime2 -> 21 March, 2022, | time: 2:45:31 p.m. datetime2 = datetime( 2022 , 3 , 21 , 14 , 45 , 31 ) #getting only the dates from datetime date1 = datetime1.date() date2 = datetime2.date() print ( "Is date1 greater than date2?: " , date1>date2) print ( "Is date1 less than date2?: " , date1<date2) print ( "Is date1 equal to date2?: " , date1 = = date2) |
输出:
Is date1 greater than date2?: True Is date1 less than date2?: False Is date1 equal to date2?: False |
在这里,我们使用该date()
方法从给定的日期时间中仅提取日期,然后使用不同的比较运算符进行比较以获得输出。
5. 仅比较时间
from datetime import datetime #datetime in the format yyyy-mm-dd hh:mm:ss #datetime1 -> date: 6 August, 2022 | time: 11:00:00 a.m. datetime1 = datetime( 2022 , 8 , 6 , 11 , 0 , 0 ) #datetime2 -> 21 March, 2022, | time: 2:45:31 p.m. datetime2 = datetime( 2022 , 3 , 21 , 14 , 45 , 31 ) #getting only the time from datetime time1 = datetime1.time() time2 = datetime2.time() print ( "Is time1 greater than time2?: " , time1>time2) print ( "Is time1 less than time2?: " , time1<time2) print ( "Is time1 equal to time2?: " , time1 = = time2) |
输出:
Is time1 greater than time2?: False Is time1 less than time2?: True Is time1 equal to time2?: False |
与示例 5 类似,这里我们使用time()
datetime 模块中的方法从给定的日期时间中仅提取时间。
概括
就这样!我们还学习了如何使用datetime
Python 中的模块来处理日期和时间。
如果您想了解更多不同的 Python 概念,请查看我们的其他文章!