Java 获取指定日期范围内的每个月,每季度,每一年

    /**
     *根据时间范围获得月份集
     * @return
     */
    public static List<String> getRangeSet(String beginDate,String endDate){
        /*      Date1.after(Date2),当Date1大于Date2时,返回TRUE,当小于等于时,返回false;
          Date1.before(Date2),当Date1小于Date2时,返回TRUE,当大于等于时,返回false;
          如果业务数据存在相等的时候,而且相等时也需要做相应的业务判断或处理时,你需要使用:!Date1.after(Date2);*/
        List<String> rangeSet =null;
        SimpleDateFormat sdf = null;
          Date begin_date = null;
          Date end_date = null;
          rangeSet = new java.util.ArrayList<String>();
          sdf = new SimpleDateFormat("yyyy-MM");
        try {
              begin_date = sdf.parse(beginDate);//定义起始日期
              end_date = sdf.parse(endDate);//定义结束日期
        } catch (ParseException e) {
            System.out.println("时间转化异常,请检查你的时间格式是否为yyyy-MM或yyyy-MM-dd");
        }
          Calendar dd = Calendar.getInstance();//定义日期实例
          dd.setTime(begin_date);//设置日期起始时间
          while(!dd.getTime().after(end_date)){//判断是否到结束日期
              rangeSet.add(sdf.format(dd.getTime()));
              dd.add(Calendar.MONTH, 1);//进行当前日期月份加1
          }
          return rangeSet;
    }   

猜你喜欢

转载自www.cnblogs.com/renpei/p/9645874.html