日期操作类型错误(日期时间包)

Type Error with operations with dates (datetime package)

我有这个代码:

 import datetime

 last_date = datetime.datetime(2021, 1, 15)
 first_date = datetime.datetime(2021, 1, 1)

 date_1 = last_date - first_date

 print(date_1) #this prints: 14 days, 00:00:00

 r=0.05

 fa = 1/(1+r)**(date_1/360)

 fa

我收到这个错误:

TypeError: unsupported operand type(s) for ** or pow(): 'float' and 'datetime.timedelta'

我感兴趣的是天数,而不是小时数

date_1 是一个 timedelta 对象,如您所见,您不能将它除以 float。 ]您可以使用 days 属性:

从中提取天数
fa = 1/(1+r)**(date_1.days/360)
# Here --------------^

date_1 是一个 datetime.timedelta 对象。您需要获取整数形式的天数。

import datetime

 last_date = datetime.datetime(2021, 1, 15)
 first_date = datetime.datetime(2021, 1, 1)

 date_1 = last_date - first_date

 print(date_1) #this prints: 14 days, 00:00:00

 r=0.05

 fa = 1/(1+r)**(date_1.days/360)

 fa