【问题标题】: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
      

      【讨论】:

        猜你喜欢
        • 2014-03-01
        • 2012-05-14
        • 1970-01-01
        • 2016-12-14
        • 2013-03-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-11-22
        相关资源
        最近更新 更多