/**
     *根据时间范围获得月份集
     * @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;
    }

/**
     *根据时间范围获得季度集
     * @return
     */
    public static List<String> getRangeSet_Q(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;
          String[] numStr =null;
          String Q=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)){//判断是否到结束日期
              numStr=  sdf.format(dd.getTime()).split("-",0);
              Q = getQuarter(Integer.valueOf(numStr[1]))+"";
              System.out.println(numStr[0].toString()+"年"+numStr[1].toString()+"月"+"为"+numStr[0].toString()+"年第"+Q+"季");
              rangeSet.add(Q);
              dd.add(Calendar.MONTH, 1);//进行当前日期月份加1
          }
          return rangeSet;
    }

/**
     * 根据月获得季度
     * @param month  月
     * @return  季度
     */
    private static int getQuarter(int month) {
        if(month == 1 || month == 2 || month == 3){
            return 1;
        }else if(month == 4 || month == 5 || month == 6){
            return  2;
        }else if(month == 7 || month == 8 || month == 9){
            return 3;
        }else{
            return 4;
        }
    }

Java 获取指定日期范围内的每个月,每季度,每一年的更多相关文章

  1. JAVA获取指定日期是星期几

    /** * 获取指定日期是星期几<br> * * @param date * @return 指定日期是星期几 */ public static String getWeekOfDate( ...

  2. Java 获取指定日期的方法总结

    原文地址:http://bdcwl.blog.163.com/blog/static/765222652009104171521/ SimpleDateFormat sdf = new SimpleD ...

  3. Java 获取指定日期的方法总结 -转

    格式化日期 String-->Date  或者 Data-->String SimpleDateFormat sdf = new SimpleDateFormat("yyyy-M ...

  4. JAVA获取指定日期的一天的开始时刻(时间)和结束时刻(时间)

    注: SimpleDateFormat是线程不安全的 public static SimpleDateFormat format = new SimpleDateFormat("yyyyMM ...

  5. Java 获取指定日期的方法汇总

    import java.text.DateFormat; import java.text.ParsePosition; import java.text.SimpleDateFormat; impo ...

  6. java获取指定日期的年、月、日的值

    参数:String dateStr = '2016-05-18'; 1.获取string对应date日期: Date date = new SimpleDateFormat("yyyy-MM ...

  7. JAVA获取指定日期的周一的日期

    /** * 获取当前周的周一的日期 * @param date 传入当前日期 * @return */ public static Date getThisWeekMonday(Date date) ...

  8. java 获取指定日期

    //可以设置指定那一天:例如,最近一周,参数传入-7,最近一月,参数传入-30...private String getBeginDate(int date) throws ParseExceptio ...

  9. java获取指定日期之前或之后的时间

    /** * 前/后?分钟 * * @param d * @param minute * @return */ public static Date rollMinute(Date d, int min ...

随机推荐

  1. IOC之Unity的使用详解

    原文链接:https://www.cnblogs.com/hua66/p/9670639.html Unity作为Microsoft推出IOC容器,其功能是非常丰富的,其中需要注意的地方也不少.以下是 ...

  2. 【转】JavaSE面试题目收集

    1.是否可以从一个static方法内部发出对非static方法的调用? 不可以.当一个static方法被调用时,可能还没有创建任何实例对象,如果从一个static方法中发出对非static方法的调用, ...

  3. Flask实战第3天:url_for使用

    我们之前是通过url来找到对应的视图函数 /     =>    hello_world 那么url_for则是通过视图函数找到url hello world  =>  / 演示如下 #c ...

  4. 第十三课 CSS外观及样式的应用 css学习3

    一.1.color: 文本颜色 预定义文本颜色值,如red,blue等 十六进制的颜色值 #fff白色 建议常用的表示方法 RGB代码,如红色可以表示为rgb(255,0,0)或rgb(100%,%0 ...

  5. Odoo 10的Linux安装

    CentOS7安装Odoo10流程如下一.更新系统#yum clean all#yum update 二.安装 PostgreSQL 1.安装数据库#yum install postgresql po ...

  6. iOS----------use_frameworks!

    1.https://segmentfault.com/a/1190000007076865 2.https://www.jianshu.com/p/8269e4cac48f 3.https://www ...

  7. Android为TV端助力:(转载)修改TextView字体样式

    一.开篇 因为 Android 字体相关的内容还比较多的.有时候其实我们只需要调整一下属性就可以满足设计师的需求,或者是一个退后的方案(毕竟有发版的时间卡住了),有一些效果可以大概满足需求. 那么本文 ...

  8. MyDAL - is null && is not null 条件 使用

    索引: 目录索引 一.API 列表 C# 代码中 instance.property == null 生成 SQL 对应的 is null : 如:.Queryer<Agent>() .. ...

  9. Django-2- 模板路径查找,模板变量,模板过滤器,静态文件引用

    模板路径查找 路径配置 2. templates模板查找有两种方式 2.1 - 在APP目录下创建templates文件夹,在文件夹下创建模板 2.2 - 在项目根目录下创建templates文件夹, ...

  10. Django-0-环境搭建、创建项目、启动服务

    1- 创建虚拟环境名称(在虚拟机中) mkvirtualenv -p /usr/bin/python3 envname   (/usr/bin/python3 - 你自己在虚拟机中的Python解释器 ...