public static List<Map<String, String>> queryWeek(String year,String month) throws ParseException {
/** 周 **/
final String[] weeks = {"第一周","第二周","第三周","第四周","第五周","第六周"};
Calendar calendar = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat sdf2 = new SimpleDateFormat("MM-dd");
calendar.setTime(sdf.parse(year+"-"+month+"-01"));
int i = calendar.get(Calendar.DAY_OF_WEEK);
int months = calendar.get(Calendar.MONTH);
switch (i) {
case 1:
calendar.add(Calendar.DATE, 1);
break;
case 2:
calendar.add(Calendar.DATE, 0);
break;
case 3:
calendar.add(Calendar.DATE, 6);
break;
case 4:
calendar.add(Calendar.DATE, 5);
break;
case 5:
calendar.add(Calendar.DATE, 4);
break;
case 6:
calendar.add(Calendar.DATE, 3);
break;
case 7:
calendar.add(Calendar.DATE, 2);
break;
default:
break;
}
//本月的第一个星期
List<Map<String, String>> list = new ArrayList<Map<String,String>>();
int index = 0;
while(true) {
if(index++ > 0) calendar.add(Calendar.DATE, 1);
Map<String, String> map = new HashMap<String, String>();
map.put("startTime", sdf2.format(calendar.getTime()));
map.put("start", sdf.format(calendar.getTime()));
calendar.add(Calendar.DATE, 6);
map.put("endTime", sdf2.format(calendar.getTime()));
map.put("end", sdf.format(calendar.getTime()));
map.put("week", weeks[index-1]);
list.add(map);
//判断是否跨月
if(months != calendar.get(Calendar.MONTH))break;
}
return list;
}