铁马冰河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   铁马冰河2000  阅读(131)  评论(1编辑  收藏  举报

编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示