今天项目有个需求,图表的提示信息要显示每周的起始日期,这就需要根据年份的周数计算出起始日期
不多说了,直接上代码:
/**
* 获取每周的时间范围
* @param year
* @param week
* @return
*/
public static String getRangeOfWeek(int year, int week){
Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, year);
cal.set(Calendar.WEEK_OF_YEAR, week+1);//需要加1
//设置每周从周一开始
cal.setFirstDayOfWeek(2);
cal.set(Calendar.DAY_OF_WEEK, 2);//周一
String start = dateToString(cal.getTime());
cal.set(Calendar.DAY_OF_WEEK, 8);//周日
String end = dateToString(cal.getTime());
return start+"~"+end;
}
/**
* 格式化为2016.11.11
* @param date
* @return
*/
public static String dateToString(Date date) {
DateFormat format=new SimpleDateFormat("yyyy.MM.dd");
return format.format(date);
}
执行结果为: