неподдерживаемые типы операндов для% - PullRequest
0 голосов
/ 09 марта 2020
today = date.today()                       
expire_date = date(today.year, 6, 7)       

days = expire_date - today
left_months = days // 30            
left_days = days % 30  
'''
Error in this line : unsupported operand type(s) for %: 
                                    'datetime.timedelta' and 'int'
'''  
print('{} Months'.format(left_months), '{} Days'.format(left_days) + " until exhibition day")

1 Ответ

0 голосов
/ 10 марта 2020

Взято из ответа на Как преобразовать дни в годы и месяцы в python? , вы можете использовать пакет dateutil .

from dateutil.relativedelta import relativedelta
from datetime import date

today = date.today()
expire_date = date(today.year, 6, 7)

rdelta = relativedelta(expire_date, today)

print(f'{rdelta.months} months {rdelta.days} days until exhibition day')

Также обратите внимание на использование f-строк , так как они, я считаю, более pythoni c.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...