public class JavaClass {
public static void main(String[] args) {
Calendar mCalendar = Calendar.getInstance();
//Case 1: 02/11/2017
mCalendar.set(Calendar.YEAR, 2017);
mCalendar.set(Calendar.MONTH, Calendar.NOVEMBER);
mCalendar.set(Calendar.DAY_OF_MONTH, 2);
getStartWeekEndWeek(mCalendar);
//Case 2: 04/11/2017
mCalendar.set(Calendar.YEAR, 2017);
mCalendar.set(Calendar.MONTH, Calendar.NOVEMBER);
mCalendar.set(Calendar.DAY_OF_MONTH, 4);
getStartWeekEndWeek(mCalendar);
//Case 3: 04/11/2017
mCalendar.set(Calendar.YEAR, 2017);
mCalendar.set(Calendar.MONTH, Calendar.NOVEMBER);
mCalendar.set(Calendar.DAY_OF_MONTH, 5);
getStartWeekEndWeek(mCalendar);
}
public static void getStartWeekEndWeek(Calendar calendar){
Calendar first = (Calendar) calendar.clone();
first.add(Calendar.DAY_OF_WEEK,
first.getFirstDayOfWeek() - first.get(Calendar.DAY_OF_WEEK));
// and add six days to the end date
Calendar last = (Calendar) first.clone();
last.add(Calendar.DAY_OF_YEAR, 6);
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
System.out.println("Input: " +df.format(calendar.getTime()));
System.out.println("Start: " + df.format(first.getTime()) + " -> " +
df.format(last.getTime()));
System.out.println("-----------");
}
}