依据最新日期得到最近一个日期的具体步骤

1、获取当前日期

SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd");
Date date=new Date(System.currentTimeMillis());

2、利用list存储需要比较的日期

List<String> days=recordService.getDaysDistinct();

3、建立for循环,将存储的string类型的日期转为Date类型,二者相减得到差值,同时利用另一个数组存储差值

List<Long> result=new ArrayList<>();

        for(int i=0;i< days.size();i++){
            Date date1=simpleDateFormat.parse(days.get(i));
            result.add(date.getTime()-date1.getTime());//毫秒的差值
        }

4、得到最小的差值的下标,进而得到距离最近的日期的值

//比较哪个是最小的差值
        long minCount = result.get(0);//存储下标
        int min = 0;
        String day;//获取到的日期结果
        for(int i=0;i<result.size();i++){
            if(result.get(i)<minCount){
                System.out.println("result:"+result);
                minCount=result.get(i);
                min=i;
            }
        }

5、得到结果

//得到最近日期的值
day = days.get(min);
posted @ 2024-04-08 15:35  yesyes1  阅读(41)  评论(0编辑  收藏  举报