Zmiana formatu z dni na lata

0

Poradzi ktoś jak z poniższym kodzie zmienić format wyświetlania wyniku z dni na lata i dni? W tym momencie wynik pokazuje w dniach i jeśli np. podzielę go przez 365 to dalej jest dopisek "days"


from datetime import date

born = input("Please type your born date here (YYYY-MM-DD): ")

year = int(born[:4])
month = int(born[5:7])
day = int(born[8:10])

calc = date.today() - date(year, month, day)

print(calc)

1

Wersja prosta: calc.days // 365
Wersja poprawna: https://stackoverflow.com/questions/765797/python-timedelta-in-years

0

Super, dzięki za podpowiedź.

Zrobiłem to tak:

from datetime import date
from dateutil.relativedelta import relativedelta

born = input("Please type your born date here (YYYY-MM-DD): ")

year = int(born[:4])
month = int(born[5:7])
day = int(born[8:10])

birthday = date(year, month, day)

print(relativedelta(date.today(), birthday))

wyprintowało mi coś takiego: relativedelta(years=+30, months=+8, days=+10)

Ostatnie pytanie. Czy ja mogę to przedstawić w formie "Masz 30 lat, 8 miesięcy i 10 dni?

1 użytkowników online, w tym zalogowanych: 0, gości: 1