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
the range should be 26 may to 1 june
Advertisement
Answer
this is Java Calendar based solution
Date date = new Date(); Calendar c = Calendar.getInstance(); c.setTime(date); int i = c.get(Calendar.DAY_OF_WEEK) - c.getFirstDayOfWeek(); c.add(Calendar.DATE, -i - 7); Date start = c.getTime(); c.add(Calendar.DATE, 6); Date end = c.getTime(); System.out.println(start + " - " + end);
output
Mon Jun 10 13:22:01 EEST 2013 - Sun Jun 16 13:22:01 EEST 2013
it’s localized, in my Locale week starts with Monday