すでに現在の週の日付を発見したので、あなたがしなければならないすべては、前の週の日付の7日引くと7日間追加で来週の日付。
あなたは、コードに次のようで
int x = -7;
Calendar cal = GregorianCalendar.getInstance();
cal.add(Calendar.DAY_OF_YEAR, x);
Date sevenDaysAgo = cal.getTime();
だからあなたのコードは以下のようになりますことを行うことができます -
public void getCurrentWeekDate(int week) {
Calendar c = GregorianCalendar.getInstance();
System.out.println("Current week = " + Calendar.DAY_OF_WEEK);
c.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
System.out.println("Current week = " + Calendar.DAY_OF_WEEK);
DateFormat df = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault());
String startDate;
String endDate;
startDate = df.format(c.getTime());
// previous week calculation
Calendar previousWeekCalendar = c;
previousWeekCalendar.add(Calendar.DAY_OF_YEAR, -7);
startPreviousWeekDate = df.format(previousWeekCalendar.getTime());
previousWeekCalendar.add(Calendar.DATE, 6);
endPreviousWeekDate = df.format(previousWeekCalendar.getTime());
c.add(Calendar.DATE, 6);
//for previous week
//c.add(Calendar.DAY_OF_WEEK, -1);
//for next week
c.add(Calendar.DAY_OF_WEEK, week);
endDate = df.format(c.getTime());
// Do next week calculation same as previous week. Just check what is the value of c before starting the calculation
System.out.println("Start Date = " + startDate);
System.out.println("End Date = " + endDate);
System.out.println("End Date = " + endDate);
}
getCurrentWeekDate(1);次のためにgetCurrentWeekDate(-1);それ以前は? – Adevelopment
しかし、私は前のボタンをクリックして前のボタンをクリックして前のボタンをクリックすると前のボタンをクリックしなければならないことを前提にしておく必要があります。現在の週が表示されます。 – Adevelopment
私の答えをもう一度チェックしてください。私はこのメソッドをパラメータとしてweekを受け入れるようにしました。基本的に 'getCurrentWeekDate(0)'を呼び出すと、今週は 'getCurrentWeekDate(1)'、 'getCurrentWeekDate(-1)'は前週になります。 – santalu