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

Для получения количества дней между двумя датами в Python, используйте модуль datetime:

from datetime import date

date1 = date(2023, 1, 1)
date2 = date(2023, 1, 10)

delta = date2 - date1

print(delta.days) # Output: 9
  
Метод .days возвращает разницу в днях.

Чтобы получить количество дней между двумя датами в Python, можно использовать модуль datetime. Вот несколько способов:

1. Используя datetime.date:


import datetime

date1 = datetime.date(2023, 10, 26)
date2 = datetime.date(2023, 11, 10)

delta = date2 - date1
print(delta.days)  # Вывод: 15
  

В этом примере мы создаем два объекта datetime.date, представляющих две даты. Затем мы вычитаем одну дату из другой, чтобы получить объект datetime.timedelta. Атрибут days объекта timedelta содержит разницу в днях.

2. Используя datetime.datetime:


import datetime

datetime1 = datetime.datetime(2023, 10, 26, 10, 0, 0)
datetime2 = datetime.datetime(2023, 11, 10, 12, 0, 0)

delta = datetime2 - datetime1
print(delta.days)  # Вывод: 15
  

Этот пример аналогичен первому, но использует объекты datetime.datetime, которые включают время. Разница в днях рассчитывается таким же образом.

3. Используя строки и datetime.strptime:


import datetime

date_string1 = "2023-10-26"
date_string2 = "2023-11-10"

date_format = "%Y-%m-%d"  # Формат даты: Год-Месяц-День

date1 = datetime.datetime.strptime(date_string1, date_format).date()
date2 = datetime.datetime.strptime(date_string2, date_format).date()

delta = date2 - date1
print(delta.days)  # Вывод: 15
  

Здесь мы преобразуем строки, представляющие даты, в объекты datetime.date с использованием datetime.datetime.strptime. Функция strptime принимает строку и формат, в котором строка представляет дату. После преобразования, разница рассчитывается как и раньше.

Важно:

  • Убедитесь, что даты валидные и в правильном формате.
  • datetime.timedelta также имеет атрибуты seconds и total_seconds(), если вам нужна более точная разница во времени.
0