我正在为我的应用程序开发本地日历。但每月重复事件(星期几)是个问题。获取月份的第三个星期五
当我创建一个事件开始16-9-2016(16 SEP 2016 FRIDAY)
并重复每个月的第三个星期五。但下个月它会在第二个 周五14-10-2016创建(这是问题)。下个月它将在第三个星期五。
我的代码是
public Date nthWeekdayOfMonth(int dayOfWeek, int month, int year, int week, TimeZone timeZone) {
Calendar calendar = Calendar.getInstance();
calendar.setTimeZone(timeZone);
calendar.set(Calendar.DAY_OF_WEEK, dayOfWeek);
calendar.set(Calendar.WEEK_OF_MONTH, week);
calendar.set(Calendar.MONTH, month);
calendar.set(Calendar.YEAR, year);
return calendar.getTime();
}
我知道这个问题。但我不知道如何解决它..有什么方法可以解决它吗?
提示:如果可能,请使用Java8 Date/Time Apis而不是好日历。日历只是s ***的大时间。 – GhostCat
@GhostCat对不起,我们的系统使用Java7。有没有办法通过使用Java7日历来解决它 –
如果你在Java7上,你可以试试[Joda Time](http://www.joda.org/joda-time/)然后[这个答案](http: //stackoverflow.com/questions/20527998/get-all-fridays-in-a-date-range-in-java)包含一个示例代码。 – DVarga