时间排序(Date)

时间排序

处理杂乱的各种汇总数据并将其按照时间顺序返回给前端,需要先对所有日期进行汇总并排序后追加各项时间下的数据,以下记录针对个时间点的排序代码(正序,倒序则将return中的o1和o2交换位置)

入参:xs
格式:String类型的时间
出参:res
格式:String类型的时间

public List<String> getSortDate(List<String> xs) {
        List<String> res = new ArrayList<>();
        Collections.sort(xs, new Comparator<String>() {
            DateFormat f = new SimpleDateFormat("yyyy-MM");
            @Override
            public int  compare(String o1, String o2) {
                try {
                    return f.parse(o1).compareTo(f.parse(o2));
                } catch (ParseException e) {
                    throw new IllegalArgumentException(e);
                }
            }
        });
        StringBuffer now = new StringBuffer();
        ArrayList<String> list1 = new ArrayList<String>();
        //用已经排序好的时间对带时间类型的进行对比,获取排序好并且带时间类型
        for (int i = 0; i < xs.size(); i++) {
            String aa = xs.get(i);
            String jj = "";
            for (int j = 0; j < list1.size(); j++) {
                String fir = list1.get(j).split("#")[0];
                if(aa.equals(fir)) {
                    jj = list1.get(j).split("#")[1];
                    break;
                }
            }
            res.add(aa);
        }
        return res;
    }

输出:2021-08,2021-11,2022-01,2022-03,2022-08,2022-09,