You are currently viewing Сравнение дат в Python

Сравнение дат в Python

Сравнивать даты в Python довольно просто. Даты можно легко сравнить с помощью операторов сравнения (например <, >, <, ><=, >=, != и т.д.). Давайте посмотрим, как сравнивать даты с помощью модуля <=, >datetime с использованием Python.

Код № 1 : Базовый

# Simple Python program to compare dates

# importing datetime module
import datetime

# date in yyyy/mm/dd format
d1 = datetime.datetime(2018, 5, 3)
d2 = datetime.datetime(2018, 6, 1)

# Comparing the dates will return
# either True or False
print("d1 is greater than d2 : ", d1 > d2)
print("d1 is less than d2 : ", d1 < d2)
print("d1 is not equal to d2 : ", d1 != d2)

Выход:

d1 is greater than d2 : False
d1 is less than d2 : True
d1 is not equal to d2 : True

Код № 2 : Сортировка дат

Один из лучших способов сортировки группы дат-сохранить их в списке и применить sort() метод. Это приведет к сортировке всех дат, доступных в списке. Объекты класса date можно сохранить в списке с помощью append() метод.

# Python program to sort the dates

# importing datetime module
from datetime import *

# create empty list
group = []

# add today's date
group.append(date.today())

# create some more dates
d = date(2015, 6, 29)
group.append(d)

d = date(2011, 4, 7)
group.append(d)

# add 25 days to the date
# and add to the list
group.append(d + timedelta(days = 25))

# sort the list
group.sort()

# print the dates
for d in group:
	print(d)
	

Выход:

2011-04-07
2011-05-02
2015-06-29
2018-05-24

Код № 3 :Сравнение дат

Сравните два date объекта класса, точно так же, как сравнение двух чисел.

# importing datetime module
from datetime import *

# Enter birth dates and store
# into date class objects
d1, m1, y1 = [int(x) for x in input("Enter first"
		" person's date(DD/MM/YYYY) : ").split('/')]

b1 = date(y1, m1, d1)

# Input for second date
d2, m2, y2 = [int(x) for x in input("Enter second"
		" person's date(DD/MM/YYYY) : ").split('/')]

b2 = date(y2, m2, d2)

# Check the dates
if b1 == b2:
	print("Both persons are of equal age")
	
elif b1 > b2:
	print("The second person is older")
	
else:
	print("The first person is older")

Выход:

Введите дату от первого лица(ДД/ММ/ГГГГ) : 12/05/2017
Введите дату второго лица(ДД/ММ/ГГГГ) : 10/11/2015
Второй человек старше