/**
* 根据星期获取日期
* @param week 星期几 1代码星期1,2代表星期二。。。7代表星期天
* @return
*/
public static String getDateByWeek(int week) {
Calendar c = Calendar.getInstance();
DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// 当前日期星期数
int currWeek = c.get(Calendar.DAY_OF_WEEK)-1;
System.out.println("currWeek:"+currWeek);
String formatTime = "";
if (currWeek == week) {
// 如果所给星期数和当前日期星期数相等则向后推0天,输出当天日期
c.add(Calendar.DAY_OF_MONTH, 0);
formatTime = sdf.format(c.getTime());
return formatTime;
}
do {
// 向后推一天,直到星期数与所给星期数相同
c.add(Calendar.DAY_OF_MONTH, 1);
} while (week != c.get(Calendar.DAY_OF_WEEK)-1);
formatTime = sdf.format(c.getTime());
return formatTime;
}
@Test
public void testWeek(){
String dateByWeek = getDateByWeek(2);
System.out.println("result:"+dateByWeek);
}