java8获取一个时间段内的所有年月日期

public class Test
{
  public static void main(String[] args) throws Exception
  {
    for (String string : Main.getMonthBetween("2008年01月", "2020年06月"))
    {
      System.out.println(string);
    }
  }
  public static List<String> getMonthBetween(String minDate, String maxDate) throws Exception
  {
    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);// 设置年月日,最少3个参数
    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;
  }
}


你可能感兴趣的:(日期)