【问题标题】:Type Error with operations with dates (datetime package)日期操作类型错误(日期时间包)
【发布时间】:2022-01-20 09:55:12
【问题描述】:
我有这个代码:
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:** 或 pow() 不支持的操作数类型:'float' 和 'datetime.timedelta'
我感兴趣的是天数,而不是小时数
【问题讨论】:
标签:
python
datetime
typeerror
timedelta
【解决方案1】:
date_1 是一个timedelta 对象,正如您所见,您不能将它除以float。 ]您可以使用days 属性从中提取天数:
fa = 1/(1+r)**(date_1.days/360)
# Here --------------^
【解决方案2】:
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