zoukankan      html  css  js  c++  java
  • java根据开始时间结束时间计算中间间隔日期

    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.ArrayList;
    import java.util.Calendar;
    import java.util.Date;
    import java.util.List;
     
    public class Test {
     
        public static List<String> findDates(String stime, String etime)
                throws ParseException {
            List<String> allDate = new ArrayList();
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
     
            Date dBegin = sdf.parse(stime);
            Date dEnd = sdf.parse(etime);
            allDate.add(sdf.format(dBegin));
            Calendar calBegin = Calendar.getInstance();
            // 使用给定的 Date 设置此 Calendar 的时间
            calBegin.setTime(dBegin);
            Calendar calEnd = Calendar.getInstance();
            // 使用给定的 Date 设置此 Calendar 的时间
            calEnd.setTime(dEnd);
            // 测试此日期是否在指定日期之后
            while (dEnd.after(calBegin.getTime())) {
                // 根据日历的规则,为给定的日历字段添加或减去指定的时间量
                calBegin.add(Calendar.DAY_OF_MONTH, 1);
                allDate.add(sdf.format(calBegin.getTime()));
            }
            return allDate;
        }
     
        public static void main(String[] args) {
            //测试数据
            String stime = "2019-05-01";
            String etime = "2019-05-05";
     
            //集合中包含2019-05-01/2019-05-05,不需要可去除
            List<String> list = new ArrayList<>();
            try {
                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
                long s = Long.valueOf(sdf.parse(stime).getTime());
                long e = Long.valueOf(sdf.parse(etime).getTime());
                //只有结束时间大于开始时间时才进行查询
                if(s<e) {
                    list = findDates(stime, etime);
                }
            } catch (ParseException e) {
                e.printStackTrace();
            }
            for(String time : list) {
                System.out.println(time);
            }
            System.out.println("间隔天数:" + list.size());
        }
    }
    

      

    原文:https://blog.csdn.net/qq_38955717/article/details/90448848

  • 相关阅读:
    WPF DataGrid
    邮箱格式验证
    Spring Cloud微服务学习笔记
    你必须知道的MySQL知识点
    你必须掌握的分布式事务知识点
    重试操作下如何实现幂等?
    你必须掌握的关于JVM知识点
    RocketMQ开发者指南
    二分查找解题套路框架
    回溯算法解题套路框架
  • 原文地址:https://www.cnblogs.com/qbdj/p/10951113.html
Copyright © 2011-2022 走看看