Suppose I have a Date 20 June 2013
How can I get the Date range for the last week, ie in this case 9 June to 15 June.
Also if the date was 2nd June 2013
Try this
public static void main(String[] args)
{
Calendar calendar = Calendar.getInstance();
calendar.setTime(new Date());
System.out.println("First Day : " + SampleDateLimit.firstDayOfLastWeek(calendar).getTime());
System.out.println("Last Day : " + SampleDateLimit.lastDayOfLastWeek(calendar).getTime());
}
public static Calendar firstDayOfLastWeek(Calendar c)
{
c = (Calendar) c.clone();
// last week
c.add(Calendar.WEEK_OF_YEAR, -1);
// first day
c.set(Calendar.DAY_OF_WEEK, c.getFirstDayOfWeek());
return c;
}
public static Calendar lastDayOfLastWeek(Calendar c)
{
c = (Calendar) c.clone();
// first day of this week
c.set(Calendar.DAY_OF_WEEK, c.getFirstDayOfWeek());
// last day of previous week
c.add(Calendar.DAY_OF_MONTH, -1);
return c;
}