若List中有连续的日期则将首尾设置为startDate、endDate,否则startDate=endDate=独立的日期

 1         //初始化list,且该list中的日期是升序的。 
 2         List<String> list = Arrays.asList("2020-11-19","2020-11-20","2020-11-21","2021-07-20");
 3         List arrayList = new ArrayList<>();
 4         int num = 0;
 5         for (int i=0;i<list.size();i=num){
 6             String start = list.get(i);
 7             String end = "";
 8             if (i==list.size()-1){
 9                 end = start;
10             }
11             int n = 0;
12             for (int j=i+1;j<list.size();j++){
13                 //判断当前日期的后一天与list中该元素的下一个元素是否相等
14                 if(getSpecifiedDayAfter(list.get(j-1)).equals(list.get(j))){
15                     end = list.get(j);
16                     n++;
17                     num++;
18                     continue;
19                 }else {
20                     //list中该元素不是连续的
21                     if (n==0){
22                         end = list.get(j-1);
23                     }
24                     break;
25                 }
26             }
27             num = num+1;
28             HashMap<String, String> map = new HashMap<>();
29             map.put("startDate",start);
30             map.put("endDate",end);
31             arrayList.add(map);
32         }
 1 /**
 2      * 获取当前日期的后一天
 3      * @param specifiedDay
 4      * @return
 5      */
 6     public static String getSpecifiedDayAfter(String specifiedDay) {
 7         Calendar c = Calendar.getInstance();
 8         Date date = null;
 9         try {
10             date = new SimpleDateFormat("yyyy-MM-dd").parse(specifiedDay);
11         } catch (ParseException e) {
12             e.printStackTrace();
13         }
14         c.setTime(date);
15         int day = c.get(Calendar.DATE);
16         c.set(Calendar.DATE, day + 1);
17         String dayAfter = new SimpleDateFormat("yyyy-MM-dd").format(c.getTime());
18         return dayAfter;
19     }

 运行结果-》[{endDate=2020-11-21, startDate=2020-11-19}, {endDate=2021-07-20, startDate=2021-07-20}]

posted @ 2021-07-30 15:56  叶颀儿  阅读(141)  评论(0编辑  收藏  举报