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

  • 相关阅读:
    023 使用@Value注解完成配置信息的注入
    022 使用@Bean的属性完成初始化和销毁的指定
    021 使用@Import注解完成Bean的注册
    020 使用@Conditional注解完成条件注入
    019 使用@Lazy完成懒加载
    018 使用@Scope完成bean的作用域的声明
    017 包扫描器和标记注解
    016 @Configuration和@Bean
    015 spel
    vs2010编辑器中找不到System.Web.Extensions.dll
  • 原文地址:https://www.cnblogs.com/qbdj/p/10951113.html
Copyright © 2011-2022 走看看