java - 如何在 Java 中迭代以下格式的日期范围 25-12-2012 到 31-12-2012(应保留连字符)?

标签 java javascript date datetime

我也想处理闰年 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/

相关文章:

java - CXF + SSL + WebLogic 9.10

javascript - 有什么理由再使用 var 了吗?

php - 删除日期等于到期日期的 mysql 行

php - 遍历日期范围内的所有月份?

python - 如果日期在另一个数据帧的日期范围内且项目相等,则在一个数据帧中分配值

java - Hibernate 加载一一不需要的标记为延迟获取类型的实体

java - 同一型号不等于

javascript - 这里变量声明有什么区别?

javascript - 匹配正则表达式中单个字符的第 n 次出现

java - 开关未按预期工作