パラメータとして送信される曜日に基づいて、1週間のすべての曜日(MONからSUN)の数値を取得する必要があります。
たとえば、
5月2日を過ぎると、実際には今週の配列[30,1,2,3,4,5,6]を取得します。
または、5月16日を過ぎると、配列[14,15,16,17,18,19,20]を取得します。
このコードを使おうとしましたが、今日から7日後に返されます。
//get which week of month
Calendar now = Calendar.getInstance();
now.set(mYear, mMonth, Integer.parseInt(extractedDay));
int weekOfMonth = now.get(Calendar.WEEK_OF_MONTH);
//get all days of clicked week
SimpleDateFormat format = new SimpleDateFormat("MM/dd/yyyy");
Calendar calendar = Calendar.getInstance();
calendar.setFirstDayOfWeek(Calendar.MONDAY);
calendar.set(mYear, mMonth, Integer.parseInt(extractedDay));
String[] days = new String[7];
for (int i = 0; i < 7; i++)
{
days[i] = format.format(calendar.getTime());
calendar.add(Calendar.DAY_OF_MONTH, 1);
}
しかし、これは私が必要としているものではありません。今日(THU)を過ぎて、5月の今週の日付を取得する必要があります-4月30日月曜日から5月6日日曜日まで。
編集
月のどの週かを検出するコードがあることに気づきました。このデータを使用して月曜日の日付を設定する方法はありますか?たとえば、5月16日を過ぎた後、5月の第3週であることが検出され、変数firstDayOfWeek
(新しい変数)を5月14日に設定しました。