日期:2014-05-18  浏览次数:20714 次

JAVA如果获取时间段内所有的季度
1:求自然季度
如:开始时间2011-12-31  结束时间2012-04-06
返回list  包含 2011/12/31    2012/03/31

2:求顺延季度
如:开始时间2013-07-04,2014-05-12
返回list  包含 2013-10-04,2014-01-04,2014-04-04

如:开始时间2013-02-28,2013-06-12
返回list  包含 2013-05-28(并不是2013-5-31)

如:开始时间2013-11-30,2014-06-12
返回list  包含 2014-02-28,2014-5-30(并不是2014-5-31)

问题比较多,真心求教各位!!!!
谢谢了!!!!!!!!!

------解决方案--------------------
先查询出 时间 段内 的  年份和  月份   在  去 判断 就可以了吧
------解决方案--------------------
其实我觉得不难,把每个季度的月份定义好,比如第一季度是1、2、3月,那么我的数据结构可以为这样

List<Map<String,List<Integer> list = new ArrayList<Map<String,List<Integer>();
//添加第一季度 start
HashMap<String, List<Integer>> map = new HashMap<String, List<Integer>>();
ArrayList<Integer> list1 = new ArrayList<Integer>();
list1.add(1);
list1.add(2);
list1.add(3);
//添加第一季度 end
//上述只是加了其中一个季度

//接下来要判断的是拿到一个时间段,取出这个时间段所跨度的月份,这个肯定没问题吧
//然后拿着这个月份的数组或者列表进行遍历,从最小的月份开始
//遍历开始
//如果当前这个月份是哪个季度的就将这个季度存起来,如果这个季度已经存在则continue
//遍历结束
//有一点要注意的是跨年,不过这个应该没什么问题