铁马冰河2000

导航

日期排序工具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);
    }

 

posted on 2021-12-24 22:06  铁马冰河2000  阅读(128)  评论(1编辑  收藏  举报