все Python 3datetimeпонятие
Дни между датами
timedelta
Вычисление количества дней между двумя датами через вычитание date-объектов — результат является timedelta.
Синтаксис
(d2 - d1).days
Разность двух date — всегда целое число суток, но при вычитании datetime атрибут .days отбрасывает часы и минуты, а остаток уходит в .seconds; полную разницу даёт total_seconds(). Отрицательный результат нормализуется вниз: у промежутка «минус пара часов» .days равен -1. И не считайте возраст в годах как .days // 365 — високосные годы накапливают ошибку.
Примеры
from datetime import date
print((date(2024, 12, 31) - date(2024, 1, 1)).days) # → 365
birth = date(2000, 6, 15)
print((date.today() - birth).days) # → ? зависит от сегодняшней даты
new_year = date(date.today().year + 1, 1, 1)
print((new_year - date.today()).days, 'days until NY') # → ? например 86 days until NY
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности