datetime
.
from datetime import date
date1 = date(2023, 10, 26)
date2 = date(2023, 11, 15)
delta = date2 - date1
days_difference = delta.days # 20
Для вычисления разницы между двумя датами и получения количества дней в Python можно использовать модуль datetime
.
Пример кода:
from datetime import date
date1 = date(2023, 10, 26) # Первая дата
date2 = date(2023, 11, 10) # Вторая дата
delta = date2 - date1
print(delta.days) # Выводит количество дней между датами (15)
Разъяснение:
date
из datetime
.date
, представляющие две интересующие нас даты. Формат date(год, месяц, день)
.date2 - date1
). Результатом будет объект timedelta
.days
объекта timedelta
, чтобы получить разницу в днях в виде целого числа.Альтернативный вариант (использование datetime
вместо date
):
from datetime import datetime
datetime1 = datetime(2023, 10, 26, 10, 0, 0) # Дата и время
datetime2 = datetime(2023, 11, 10, 12, 0, 0) # Дата и время
delta = datetime2 - datetime1
print(delta.days) # Количество дней
print(delta.seconds) # Количество секунд (не общее, а остаток, после вычета дней)
print(delta.total_seconds()) # Общее количество секунд
Этот вариант позволяет учитывать не только дату, но и время. Разница между datetime
объектами также возвращает timedelta
, у которого есть атрибуты days
, seconds
и метод total_seconds()
.
Важно! При вычитании дат порядок имеет значение. date2 - date1
даст положительное число, если date2
позже date1
, и отрицательное, если date2
раньше date1
. Модуль datetime
сам корректно обработает переходы через месяцы и годы.