我也想处理闰年 2 月 29 日的情况。
我尝试了以下方法,但在将每个时间格式转换为 dd-mm-yyyy 时遇到问题。
GregorianCalendar gcal = new GregorianCalendar();
SimpleDateFormat sdfd = new SimpleDateFormat("dd-MM-yyyy");
Date start = sdfd.parse("26-02-1989");
Date end = sdfd.parse("06-03-1989");
gcal.setTime(start);
while (gcal.getTime().before(end))
{
gcal.add(Calendar.DAY_OF_YEAR, 1);
System.out.println( gcal.getTime().toString());
System.out.println(gcal.);
}
我也很喜欢在 Java 中使用 Javascript 引擎。
最佳答案
java.util.Date
是错误的类型。它具有毫秒(而不是天)精度。 java.time.LocalDate
更合适。使用ThreeTen如果您需要 Java <8 兼容性。
格式化LocalDate
:
localDate.format(DateTimeFormatter.ofPattern("dd-MM-yyyy"))
关于java - 如何在 Java 中迭代以下格式的日期范围 25-12-2012 到 31-12-2012(应保留连字符)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24877700/