日期排序工具DateSortUtil
============================日期比对工具类
import java.util.Comparator; import java.util.Date; public class DateComparatorAsc implements Comparator<Date>{ /** * 比对日期大小 * 规则 * date1 > date2, 返回 1 * date1 == date2, 返回 0 * date1 < date2, 返回 -1 */ @Override public int compare(Date date1, Date date2) { long time1 = date1.getTime(); long time2 = date2.getTime(); if(time1 == time2) { return 0; }else { if(date1.after(date2)){ return 1; }else{ return -1; } } } }
import java.util.Comparator; import java.util.Date; public class DateComparatorDesc implements Comparator<Date>{ /** * 比对日期大小 * 规则 * date1 > date2, 返回 -1 * date1 == date2, 返回 0 * date1 < date2, 返回 1 */ @Override public int compare(Date date1, Date date2) { long time1 = date1.getTime(); long time2 = date2.getTime(); if(time1 == time2) { return 0; }else { if(date1.before(date2)){ return 1; }else{ return -1; } } } }
============================日期排序
/** * 日期 按照 降序排列 DESC * @param inputDateList */ public static List<Date> sortDesc(List<Date> inputDateList){ Collections.sort(inputDateList, new DateComparatorDesc()); return inputDateList; } /** * 日期 按照 升序排列 ASC * @param inputDateList */ public static List<Date> sortAsc(List<Date> inputDateList){ Collections.sort(inputDateList, new DateComparatorAsc()); return inputDateList; }
============================日期排序测试类
/** * 日期列表排序 */ @Test public void test_sort() { Date date1 = DateParseUtil.parseDate("2021-12-22 22:16:00", DateParseUtil.DATE_PATTERN_yyyyMMdd_HHmmss); Date date2 = DateParseUtil.parseDate("2021-12-22 22:15:00", DateParseUtil.DATE_PATTERN_yyyyMMdd_HHmmss); Date date3 = DateParseUtil.parseDate("2021-12-22 22:19:00", DateParseUtil.DATE_PATTERN_yyyyMMdd_HHmmss); List<Date> inputDateList = new ArrayList<>(); inputDateList.add(date1); inputDateList.add(date2); inputDateList.add(date3); //日期列表升序排列 List<Date> sortAsc = DateUtil.sortAsc(inputDateList); System.out.println(sortAsc); //日期列表升序排列 List<Date> sortDesc = DateUtil.sortDesc(inputDateList); System.out.println(sortDesc); }