求 java日期切割算法
数据库中存有如下数据
id starttime endtime amount
1 2015/1/1 2018/12/31 10000
当插入新数据时候
2 2015/10/1 2017/12/31 20000
需要把日期进行切割成如下的样子 然后在此存入
3 2015/1/1 2015/10/1 10000
4 2015/10/1 2017/12/31 20000
5 2017/12/31 2018/12/31 10000
再次插入数据
6 2015/10/15 2016/10/15 30000
需要拆分数据成
7 2015/1/1 2015/10/1 10000
8 2015/10/1 2015/10/15 20000
9 2015/10/15 2016/10/15 30000
10 2016/10/15 2017/12/31 20000
11 2017/12/31 2018/12/31 10000
要求有点复杂 不知道如何拆分 要写一个通用的时间算法,求大神帮忙