私のアプリケーションのローカルカレンダーを開発しています。これは毎月の繰り返しイベント(曜日)の問題です。月の第3金曜日を取得
私は、16-9-2016(16 SEP 2016 FRIDAY)
で始まり、毎月第3金曜日のイベントを作成しています。来月には 金曜日14-10-2016金曜日に作成されます(これは問題です)。来月は第3金曜日になる。
私のコードは、私が問題を知っている
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();
}
です。しかし、私はそれを修正する方法を知りません..それを修正する方法はありますか?
ヒント:可能であれば、good olカレンダーの代わりにJava8 Date/Time APIを使用してください。カレンダーはちょうど大きな時間です。 – 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