我的目标是在python中创建抵押计算器。我希望它计算从现在到将来的固定时间之间的天数。要获取od天或两个日期之间的月份,我使用datetime,您可以在我的代码中看到。我的问题是我无法对datetime函数返回的天数执行除法运算,因为它的数据类型错误。是否可以将日期类型更改为整数?
import datetime
from datetime import date
import time
today=datetime.date.today()
d0=date(2021,11,29)
delta=d0-today
print(delta.days)
def diff_month(d1,d2,c1):
if c1=="monthly":
a=(d1.year - d2.year) * 12 + d1.month - d2.month
instalment = 1000000 / a
return (instalment)
if c1=="daily":
a=(d1-d2)
instalment=1000000/a.days
return (instalment)
# counter=diff_month(d0,today,"daily")
#instalment=1000000/counter
#print(type(counter))
#print(instalment)
print(diff_month(d0,today,"daily"))
预先感谢 编辑: 感谢您的建议,最终我以这种方式进行了操作。唯一的问题是,每月支付的金额每次都相等,实际上这并不相等,因为每个月的天数不是恒定的,所以我宁愿使用每日支付,也不愿每月支付。
答案 0 :(得分:0)
一些建议:
在线:
instalment=1000000/counter
您希望counter
包含天数。但是,如果diff_month
是“每月”,则c1
返回月份数。解决这个问题。使函数返回所有情况下的天数。
diff_month
的返回值是timedelta类型。这种类型的对象具有一个名为days
的属性,它是一个整数,因此您可以编写:
instalment=1000000/counter.days