I want to create a week view but I can't figure out how to get the first date of this week (03/01/2010) and the last date (09/01/2010). I found this script but I get as first date 10/01/2010 and as last date 09/01/2010 and I don't see why I get 10/01/2010 as first date.

Code:
// Code to test it.
GregorianCalendar calendar = new GregorianCalendar();
		 
		 //Get the interval
		String [] interval = calendarModel.getWeekInterval(calendar);
 
		System.out.println("First day of week: " + interval[0]);
		System.out.println("Last day of week: " + interval[1]);

private DateFormat df = new SimpleDateFormat("MM/dd/yyyy");
     public String[] getWeekInterval(Calendar cal)
     {
        // find start of week

        Calendar start = Calendar.getInstance();
        start.setTime(cal.getTime());
        start.set(Calendar.DAY_OF_WEEK, cal.getActualMinimum(Calendar.DAY_OF_WEEK));

        // find end of week

        Calendar end = Calendar.getInstance();
        end.setTime(cal.getTime());
        end.set(Calendar.DAY_OF_WEEK, cal.getActualMaximum(Calendar.DAY_OF_WEEK));

        // format start and end date and return

        return new String[] { df.format(start.getTime()), df.format(end.getTime()) };
   }
	
	private Calendar getFirstDayOfThisWeek(GregorianCalendar cal) 
	{
		cal.add(Calendar.DAY_OF_YEAR, Calendar.SATURDAY);
 
		return cal;
	}
	
	private Calendar getLastDayOfThisWeek(GregorianCalendar cal) 
	{
		cal.add(Calendar.DAY_OF_YEAR, Calendar.SATURDAY);
 
		return cal;
	}