Rahul Verma
Rahul Verma

Reputation: 534

How to get week of selected date in java?

How to get week of particular selected date?

For Example: My week will start from Monday and ends on Sunday. So lets say i have selected 25 July 2017. So i want what was the date on monday of that week and what is the date on upcoming Sunday of that week.

The answer should be :: Monday -- 24 July 2017 AND Sunday-- 30 July 2017.

I am not able to find a simple way to get it.

Upvotes: 0

Views: 794

Answers (2)

bhavna garg
bhavna garg

Reputation: 270

You can see this. It is for the present date.

Calendar cal = Calendar.getInstance();
int week = cal.get(Calendar.WEEK_OF_MONTH);
int day = cal.get(Calendar.DAY_OF_WEEK);
System.out.println(day);
Date mondayDate = null;
if (day > 2) {
  int monday = day - 2;
  cal.add(Calendar.DATE, -monday);
  mondayDate = cal.getTime();
} else {

  // cal.add(Calendar.DATE,);
  mondayDate = cal.getTime();
}

int sunday = 7 - day + 1;
cal.add(Calendar.DATE, +sunday);
Date sundaydate = cal.getTime();
System.out.println(mondayDate);
System.out.println(sundaydate);
}

In this, we are finding the day of the week.Today we will get day=2.

Now for monday,we will first check days.

if day=1, means it is sunday.

if day=2, means it is monday. so for day>2, we are getting date of (day-2) days back. For today, day=1. hence mondaydate= 23 July,2017.

Similarily for sunday, we are getting date of (7-day+1) days later. For today, sunday=5, so after +6, sundaydate= 31 july,2017

Hope this helps :)

Upvotes: 1

Manoj Srivastava
Manoj Srivastava

Reputation: 670

You can get like this :

String date = (String) android.text.format.DateFormat.format("dd", date);
String dayOfTheWeek = (String) DateFormat.format("EEEE", date); 

For next Sunday you can calculate as per dayOfTheWeek.

Upvotes: 1

Related Questions