Python 中比较两个日期

Syed Moiz Haider 2023年10月10日
  1. Python 中使用 datetime 模块和 </> 运算符比较两个日期
  2. Python 中使用 datetime.date() 方法比较两个日期
  3. Python 中使用 time 模块比较两个日期
  4. Python 中使用 datetime 模块比较两个日期
Python 中比较两个日期

本教程解释了如何在 Python 中比较两个日期。它有多种方法来确定哪个日期更大,所以教程还列出了不同的示例代码来阐述不同的方法。

Python 中使用 datetime 模块和 </> 运算符比较两个日期

datetime 和简单的比较运算符 <> 可用于比较两个日期。datetime 模块提供了 timedelta 方法来操作日期和时间。timedelta() 方法接收天数作为输入,并可以对其进行运算。

下面给出一个示例代码。

from datetime import datetime, timedelta

previous_date = datetime.now() - timedelta(days=1)
current_date = datetime.now()
print(present > past)

输出:

True

Python 中使用 datetime.date() 方法比较两个日期

datetime.date() 也可用于比较两个日期。datetime.date() 方法使用年、月、日作为输入。创建两个要比较的日期,并使用一个简单的比较运算符来比较两个日期。

下面给出一个示例代码。

import datetime

first_date = datetime.date(2020, 12, 16)
second_date = datetime.date(2015, 12, 16)

result = first_date < second_date
print(result)

输出:

False

Python 中使用 time 模块比较两个日期

time 模块提供了 strptime 方法来操作日期。它将字符串格式的日期作为输入,并将其转换为 Python 的日期格式。之后,可以进行简单的比较来比较两个日期。

下面是一个例子代码。

import time

first_date = "30/11/2020"
second_date = "12/10/2019"

formatted_date1 = time.strptime(first_date, "%d/%m/%Y")
formatted_date2 = time.strptime(second_date, "%d/%m/%Y")
print(formatted_date1 > formatted_date2)

输出:

True

Python 中使用 datetime 模块比较两个日期

datetime 模块提供了 datetime() 方法,该方法需要三个参数,从年、月、日创建一个日期。得到日期后,可以使用比较运算符对它们进行比较。

下面给出一个示例代码。

import datetime

# date in yy/mm/dd format
first_date = datetime.datetime(2020, 5, 11)
second_date = datetime.datetime(2020, 6, 10)

print("first date is greater than second_date: ", first_date > second_date)
print("first date is smaller than second_date: ", first_date < second_date)
print("first date is not equal to second_date: ", first_date != second_date)

输出:

first date is greater than second_date:  False
first date is smaller than second_date:  True
first date is not equal to second_date:  True
Syed Moiz Haider avatar Syed Moiz Haider avatar

Syed Moiz is an experienced and versatile technical content creator. He is a computer scientist by profession. Having a sound grip on technical areas of programming languages, he is actively contributing to solving programming problems and training fledglings.

LinkedIn