我试图在两个日期之间的所有周内迭代我的 Java 程序(结束日期是今天)。首先,我得到开始日期:
Calendar start = Calendar.getInstance();
start = data.getFirstDate(users, threads);
到现在为止还挺好。开始日期是正确的,我可以使用它。现在我迭代:
Calendar current = start;
while(current.before(Calendar.getInstance()) {
// Do something
current.add(Calendar.DATE, 7);
}
嗯,这种工作。我从 2002 年 8 月 23 日开始,然后是 2002 年 8 月 30 日,然后是 2002 年 9 月 7 日……直到2002 年 11 月 30 日。之后的日期是 2003/0/6,既不正确,也不是有效日期!
我究竟做错了什么?我尝试了current.add(Calendar.DATE, 7)
,current.add(Calendar.WEEK_OF_YEAR, 1)
和current.add(Calendar.DAY_OF_YEAR, 7)
其他两种方法。使用current.roll(Calendar.DATE, 7)
不起作用,因为我住在同一个月。使用GregorianCalendar
也没有效果。
任何建议将不胜感激!
谢谢朱利安