How to get first day of a given week number in Java

Those fields does not return the values. Those are constants which identifies the fields in the Calendar object which you can get/set/add. To achieve what you want, you first need to get a Calendar, clear it and set the known values. It will automatically set the date to first day of that week.

// We know week number and year.
int week = 3;
int year = 2010;

// Get calendar, clear it and set week number and year.
Calendar calendar = Calendar.getInstance();
calendar.clear();
calendar.set(Calendar.WEEK_OF_YEAR, week);
calendar.set(Calendar.YEAR, year);

// Now get the first day of week.
Date date = calendar.getTime();

Please learn to read the javadocs to learn how to use classes/methods/fields and do not try to poke random in your IDE 😉

That said, the java.util.Date and java.util.Calendar are epic failures. If you can, consider switching to Joda Time.

Leave a Comment