Я считаю, что ваш код почти готов.Важным моментом для использования метода TemporalAdjusters.dayOfWeekInMonth () является предоставление LocalDate с указанием дня.
Ваш пример верен, но если вы хотите быть немного более ясным, вы можете изменить на:
TemporalAdjuster secondTuesday = TemporalAdjusters.dayOfWeekInMonth(2, DayOfWeek.TUESDAY);
LocalDate dateLocalDate = LocalDate.of(2019, Month.FEBRUARY, 1).with(secondTuesday);
И поместите этот код в метод, например так:
public static void main(String[] args) {
LocalDate localDate = getLocalDateByDayOfWeek(2019, Month.FEBRUARY, 2, DayOfWeek.TUESDAY);
System.out.println(localDate);
}
private static LocalDate getLocalDateByDayOfWeek(int year, Month month, int weekNumber, DayOfWeek dayOfWeek) {
TemporalAdjuster temporalWeek = TemporalAdjusters.dayOfWeekInMonth(weekNumber, dayOfWeek);
return LocalDate.of(year, month, 1).with(temporalWeek);
}
Здесь вы можете найти документацию по этому методу: Документы TemporalAdjusters