获取某个时间段内所有月份

话不多说直接上代码

 /**
     * 获取某个时间段内所有月份
     * @param startDate
     * @param endDate
     * @return
     * @throws ParseException
     */
    private  List<String> getMonthBetween(String startDate, String endDate){
        ArrayList<String> result = new ArrayList<String>();
        try {
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");//格式化为年月

            Calendar min = Calendar.getInstance();
            Calendar max = Calendar.getInstance();
            min.setTime(sdf.parse(startDate));
            min.set(min.get(Calendar.YEAR), min.get(Calendar.MONTH), 1);

            max.setTime(sdf.parse(endDate));
            max.set(max.get(Calendar.YEAR), max.get(Calendar.MONTH), 2);

            Calendar curr = min;
            while (curr.before(max)) {
                result.add(sdf.format(curr.getTime()));
                curr.add(Calendar.MONTH, 1);
            }
        } catch (ParseException e) {
            e.printStackTrace();
        }

        return result;
    }
发布了46 篇原创文章 · 获赞 4 · 访问量 5019

猜你喜欢

转载自blog.csdn.net/qq_35862393/article/details/103369595