Сравнивать даты в Python очень просто. Для этого достаточно использовать операторы сравнения.
В этой статье я объясню вам, как сравнивать даты в Python и приведу несколько дополнительных моментов, которые следует учитывать при сравнении двух объектов даты.
Содержание
Основные принципы
Для работы с датами в Python необходимо использовать модуль datetime. Этот модуль определяет два объекта для представления дат: datetime и date.
datetime – это дата, которая включает в себя время, тогда как date просто определяет дату.
Единственными операторами, которые можно использовать для сравнения объекта datetime с объектом date, являются оператор равенства (==) и оператор различия (!=). Сравнение объекта datetime с объектом date с помощью оператора == всегда будет False, поскольку это разные объекты. Сравнение с помощью != вернет True по той же причине.
>>> import datetime
>>> date1 = datetime.datetime(2020, 4, 13)
>>> date2 = datetime.date(2020, 4, 13)
>>> print(date1 == date2)
False
>>> print(date1 != date2)
True
Code language: PHP (php)
Прежде чем сравнивать два объекта даты, помните, что они должны быть одного типа. Если только вы не хотите проверить, что это разные объекты.
Сравнение равенства двух дат в Python
В Python, чтобы сравнить, равны ли две даты, просто используйте оператор равенства:
>>> import datetime
>>> date1 = datetime.datetime(2020, 4, 13)
>>> date2 = datetime.datetime(2020, 4, 13)
>>> print(date1 == date2)
True
>>> date3 = datetime.datetime(2019, 4, 13)
>>> print(date1 == date3)
False
Code language: PHP (php)
Проверка разницы между двумя датами в Python
С помощью оператора != можно проверить, отличаются ли две даты. Вот пример:
>>> import datetime
>>> date1 = datetime.datetime(2020, 4, 13)
>>> date2 = datetime.datetime(2020, 4, 13)
>>> date3 = datetime.datetime(2019, 4, 13)
>>> print(date1 != date2)
False
>>> print(date1 != date3)
True
Code language: PHP (php)
Сравнение того, находится ли дата до или после другой даты
В Python также можно проверить, находится ли дата до или после другой даты. Для этого можно использовать операторы <, <=, > или >=.
Давайте посмотрим на примере:
>>> import datetime
>>> date1 = datetime.datetime(2020, 1, 1)
>>> date2 = datetime.datetime(2019, 1, 1)
>>> print(date1 < date2)
False
>>> print(date1 > date2)
True
>>> print(date2 < date1)
True
>>> print(date2 > date1)
False
Code language: PHP (php)
Обратите внимание, что те же самые примеры, рассмотренные в каждом из предыдущих разделов, могут быть применены к объектам даты:
>>> import datetime
>>> date1 = datetime.date(2020, 2, 3)
>>> date2= datetime.date(2019, 2, 3)
>>> print(date1 == date2)
False
>>> print(date1 > date2)
True
Code language: PHP (php)