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

Изучаю тему datetime и столкнулась с тем, что программа неверно считает количество дней. Помогите разобраться в чём проблема. Так же приму советы по улучшению кода.

from datetime import datetime
import datetime as DT

data = input('Введите дату рождения в формате ГГГГ/ММ/ДД: ')
newborn = DT.datetime.strptime(data, '%Y/%M/%d')
now = datetime.today()
days= now-newborn
print ('Вы прожили: ',days)

Ответы (1 шт):

Автор решения: Deniska SosiSka

Для получения месяца используйте ключ %m, а не %M. %m - месяц, а %M - минуты. К тому же при вычислении разницы в днях используйте атрибут days, что-то вроде:

days = (now - newborn).days

В качестве улучшения можно добавить обработку исключения ValueError, через try except и использовать для вывода форматированные строки:

from datetime import datetime

data = input('Введите дату рождения в формате ГГГГ/ММ/ДД: ')

try:
    birthday = datetime.strptime(birthday_str, '%Y-%m-%d')
except ValueError:
    print("Неверный формат даты. Используйте формат ГГГГ-ММ-ДД.")
    exit()

today = datetime.today()
age_days = (today - birthday).days

print(f"Вы прожили: {age_days} дней")
→ Ссылка