知道一年中的年,周中的几号和周中的某天,就可以获得一年中的月份和月中的一天。例如

 // corresponding to September 15, 2012 if week starts on Monday
 int weekNum = 38;
 int dayNum = 6;
 int year = 2012;

 // set the calendar instance the a week of year and day in the future
  Calendar aGMTCalendar = Calendar.getInstance(TimeZone.getTimeZone("GMT"));
 aGMTCalendar.setFirstDayOfWeek(Calendar.MONDAY);
 aGMTCalendar.set(Calendar.WEEK_OF_YEAR,weekNum );
 aGMTCalendar.set(Calendar.DAY_OF_WEEK,dayNum );
 aGMTCalendar.set(Calendar.YEAR,year);

// get the month and day of month
 int   monthGMT = aGMTCalendar.get(Calendar.MONTH + 1); // returns 38  not 9

 int   dayOfMonthNumGMT = aGMTCalendar.get(Calendar.DAY_OF_MONTH);
 // returns 14 but I wanted 15


谢谢

最佳答案

这应该是

// +1 to the value of month returned, not to the value of MONTH constant.
int monthGMT = aGMTCalendar.get(Calendar.MONTH) + 1;

09-27 18:04