how can I get a week of the year given a date? I tried the following code:
Calendar sDateCalendar = new GregorianCalendar(); sDateCalendar.set(Integer.parseInt(sDateYearAAAA), Integer.parseInt(sDateMonthMM)-1, Integer.parseInt(sDateDayDD)); System.out.format("sDateCalendar %tcn", sDateCalendar); iStartWeek = sDateCalendar.getWeekYear(); System.out.println("iStartWeek "+iStartWeek+ " "+sDateCalendar.WEEK_OF_YEAR);
and i obtain: sDateCalendar lun apr 23 11:58:39 CEST 2012 iStartWeek 2012 3
while the correct week of year is 17. Can someone help me ?
Advertisement
Answer
You are using sDateCalendar.WEEK_OF_YEAR, which is the static integer WEEK_OF_YEAR, see the source of the java.util.Calendar class:
public final static int WEEK_OF_YEAR = 3;
To get the week number, you should be using:
sDateCalendar.get(Calendar.WEEK_OF_YEAR);