2

現在の日付に基づいて次の日付を計算する必要があります。たとえば、今日が '05-NOV-2014' で、ユーザーが 1st Monday のような入力をしたとします。そのため、ユーザー入力に基づいて、現在の月の第 1 月曜日がすでに過ぎている場合は、翌月の第 1 月曜日を調べる必要があります。今月の最初の月曜日がまだ来ていない場合は、今月の日付を見つけなければなりません。

java.util.Calendar クラスを使用しています。

//user inputs
int dayOfWeek = 3; // as user has provided 'Tuesday'   
int noOfWeek = 1; // as user provided 1st 

Calendar cal = Calendar.getInstance(); // getting the current instance.
int currentDayOfWeek = Calendar.getInstance().get(Calendar.DAY_OF_WEEK); // getting the cCurrentDayOfWeek in integer.
int currentNoOfWeek  = Calendar.getInstance().get(Calendar.DAY_OF_WEEK_IN_MONTH); // getting which week it is in the current month


 if(noOfWeek < currentNoOfWeek){
 // the date has gone past in the current month.
 }
 else if ((noOfWeek == currentNoOfWeek) && dayOfWeek < currentDayOfWeek){
 // though the week number is same but as the currentDayOfWeek is greater than the provided day so in this case also  date has gone past in the current month.
 }

これ以上進めません。あなたの助けを求めています。

4

2 に答える 2

0

これがアイデアです。Calendar インスタンスを 1 日 [cal.add(DAY, 1)] 反復ごとにローリングし続け (つまり、ループでラップ)、入力として指定された日/週にいることを確認するたびに。そのような条件が満たされたら、日付を終了して抽出します。

また、「cal」変数宣言の後に、cal.get() の代わりに Calendar.getInstance().get() を呼び出します。

于 2014-11-05T13:26:26.737 に答える