I manage to do it easlily in java 8:
public static Date getFourthTuesdayOfMay(int year){
LocalDate date = LocalDate.of(year, Month.MAY, 1);
LocalDate fourthTuesdayOfMay = date.with(dayOfWeekInMonth(4, DayOfWeek.TUESDAY));
return Date.from(fourthTuesdayOfMay.atStartOfDay().atZone(ZoneId.systemDefault()).toInstant());
}
The problem is I need to do it in java 7 ... but can't figure out how.
Answer is:
Calendar date = Calendar.getInstance ();
date.set(Calendar.DAY_OF_WEEK,Calendar.TUESDAY);
date.set(Calendar.MONTH, Calendar.MAY);
date.set(Calendar.WEEK_OF_MONTH, 4);
date.set(Calendar.YEAR, year);
date.set(Calendar.HOUR, 0);
date.set(Calendar.MINUTE, 0);
date.set(Calendar.SECOND, 0);
date.set(Calendar.MILLISECOND, 0);
return date.getTime();