如何获得给定日期的一年中的一周?
我尝试了以下代码:
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);