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

  • 相关阅读:
    routing路由模式
    MQ的订阅模式
    RabbitMq中的消息应答与持久化
    work工作消息队列Round-robin与Fair dispatch
    040 关于hive元数据的解析
    simple简单消息队列
    用户设置与virtual host配置
    Mq的介绍
    字典
    元组Tuple
  • 原文地址:https://www.cnblogs.com/qbdj/p/10951113.html
Copyright © 2011-2022 走看看