日期操作类型错误(日期时间包)
Posted
技术标签:
【中文标题】日期操作类型错误(日期时间包)【英文标题】: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'
我感兴趣的是天数,而不是小时数
【问题讨论】:
【参考方案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
【讨论】:
以上是关于日期操作类型错误(日期时间包)的主要内容,如果未能解决你的问题,请参考以下文章
DateTimeHelper日期类型与字符串互转以及日期对比相关操作