欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-05-17 21:06:06
...
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;
  }
}