Как сравнивать даты в Python?

Пользователь

от greyson , в категории: Python , 2 года назад

Как сравнивать даты в Python?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от NicolasSsh , 2 года назад

@greyson  Чтобы сравнить даты, Вам достаточно воспользоваться обычными операторами сравнения.


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
import datetime as dt
import time

first_date = dt.datetime.now() # Записываем текущее время в переменную

time.sleep(5) # Ставим паузу на 5 секунд, чтобы узнать время через 5 секунд и записать его в переменную

second_date = dt.datetime.now()

print(first_date > second_date) # Сравниваем даты
# Вывод : False

print(first_date < second_date)
# Вывод : True


Пользователь

от lilla.herman , год назад

@greyson 

В Python можно сравнивать даты с помощью операторов сравнения (>, <, >=, <=, ==, !=).


Если вы используете модуль datetime, вы можете создать объект datetime для каждой даты и затем сравнивать их. Например:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
from datetime import datetime

date1 = datetime(2022, 5, 1)
date2 = datetime(2023, 3, 18)

if date1 < date2:
    print("date1 is before date2")
elif date1 > date2:
    print("date1 is after date2")
else:
    print("date1 and date2 are the same")


Если вы используете модуль date, вы можете создать объект date для каждой даты и затем сравнивать их. Например:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
from datetime import date

date1 = date(2022, 5, 1)
date2 = date(2023, 3, 18)

if date1 < date2:
    print("date1 is before date2")
elif date1 > date2:
    print("date1 is after date2")
else:
    print("date1 and date2 are the same")


Если вы хотите сравнивать текущую дату с какой-то другой датой, вы можете использовать datetime.today() или date.today() для получения текущей даты. Например:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
from datetime import datetime, date

today = date.today()
future_date = date(2023, 12, 31)

if today < future_date:
    print("The future date is after today")
elif today > future_date:
    print("The future date is before today")
else:
    print("The future date is today")