想做一个理财软件,
比如说,用户买了一个债券
购买日为S,债券的到期日为F
当用户输入S,F等数据后,
怎么知道从T日(S<T<F),到F日,用户还可以得到几次利息?
PS:
我开始设计的算法是:
计算(F-T+1)/两次付息间隔的时间  (注:每年付一次为365,每月一次为365/12)
但这样算不精确,因为有些年份是366天,而且每个月的天数也不一样
后来想:
1.可以提出T中的day(在1和31之间)
2.找出从T到F中day属性和T一样的,并计数
这样可以方便地解决每月付息的问题
但对于半年一次和一年一次的就还要比较month了,很麻烦,而且还要考虑润二月的问题
大家有没有比较成熟的算法呢?