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());
    }

    --------------------- 

  • 相关阅读:
    CF991D Bishwock
    CF1010D Mars rover
    NOIP 2011 计算系数
    SDOI 2008 仪仗队
    浅谈欧拉函数
    CF1249F Maximum Weight Subset
    NOIP 2011 铺地毯
    CF707D Persistent Bookcase
    C++ STL bitset 容器详解
    CF798D Mike and distribution
  • 原文地址:https://www.cnblogs.com/ly570/p/10983151.html
Copyright © 2011-2022 走看看