如何获得给定日期的一年中的一周?
我尝试了以下代码:

  Calendar sDateCalendar = new GregorianCalendar();
  sDateCalendar.set(Integer.parseInt(sDateYearAAAA), Integer.parseInt(sDateMonthMM)-1, Integer.parseInt(sDateDayDD));
  System.out.format("sDateCalendar %tc\n", sDateCalendar);
  iStartWeek = sDateCalendar.getWeekYear();
  System.out.println("iStartWeek "+iStartWeek+ " "+sDateCalendar.WEEK_OF_YEAR);

我得到:
sDateCalendar lun 4月23日11:58:39 CEST 2012
iStartWeek 2012 3

而一年中正确的一周是17岁。有人可以帮助我吗?

最佳答案

您正在使用sDateCalendar.WEEK_OF_YEAR,它是静态整数WEEK_OF_YEAR,请参阅java.util.Calendar类的源代码:

public final static int WEEK_OF_YEAR = 3;

要获取星期数,您应该使用:
sDateCalendar.get(Calendar.WEEK_OF_YEAR);

08-04 18:33