public static List<String> getMonthBetween(String minDate, String maxDate) throws ParseException {
ArrayList<String> result = new ArrayList<String>();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");//格式化为年月
Calendar min = Calendar.getInstance();
Calendar max = Calendar.getInstance();
min.setTime(sdf.parse(minDate));
min.set(min.get(Calendar.YEAR), min.get(Calendar.MONTH), 1);
max.setTime(sdf.parse(maxDate));
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);
}
return result;
}
复制上面的代码,到你项目里可以直接使用
演示:
System.out.println(DateBuilder.getMonthBetween("2020-01-01","2020-03-02"));
输出:
[2020-01, 2020-02, 2020-03]
这段代码展示了一个静态方法,用于在给定的两个日期之间获取所有的月份。它首先将输入的字符串转换为`Calendar`对象,然后在它们之间迭代,将每个月份添加到结果列表中。输出是一个包含格式化为'yyyy-MM'的日期字符串的列表。例如,对于日期范围'2020-01-01'到'2020-03-02',输出将是'[2020-01,2020-02,2020-03]'。
369





