public class DateUtil {
public static void main(String[] args) {
try {
String d = "2018-03-01";
System.out.println(getMonday(d));
System.out.println(getSunday(d));
} catch (ParseException e) {
e.printStackTrace();
}
}
//获得周日 的日期
public static String getSunday(String d) throws ParseException {
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); //设置时间格式
Calendar cal = Calendar.getInstance();
Date time=sdf.parse(d);
cal.setTime(time);
//判断要计算的日期是否是周日,如果是则返回
int dayWeek = cal.get(Calendar.DAY_OF_WEEK);//获得当前日期是一个星期的第几天
if(1 == dayWeek) {
return d;
}
cal.add(Calendar.DATE, 8 - dayWeek);
return sdf.format(cal.getTime());
}
// 获得周一的日期
public static String getMonday(String d) throws ParseException {
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); //设置时间格式
Calendar cal = Calendar.getInstance();
Date time=sdf.parse(d);
cal.setTime(time);
//判断要计算的日期是否是周日,如果是则返回
int dayWeek = cal.get(Calendar.DAY_OF_WEEK);//获得当前日期是一个星期的第几天
if(1 == dayWeek) {
dayWeek = 8;
}
cal.add(Calendar.DATE, 2 - dayWeek);
return sdf.format(cal.getTime());
}
}