Как вычислить разницу между двумя датами и получить количество дней?

Используйте модуль 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)

Разъяснение:

  1. Импортируем модуль date из datetime.
  2. Создаем объекты date, представляющие две интересующие нас даты. Формат date(год, месяц, день).
  3. Вычитаем одну дату из другой (date2 - date1). Результатом будет объект timedelta.
  4. Обращаемся к атрибуту 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 сам корректно обработает переходы через месяцы и годы.

0