Python Glossary English

все 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Сообщить о неточности