私は次の例を試しました。もし私が上記の日付に合格すれば、それは3週目を返すべきですが、2週間目を返しています。私のコードで何が間違っていますか?この点で私を助けてください。与えられた日付の間違った週番号を取得する
public class weekNumberCount {
public static void main(String[] args)
{
Timestamp startTime = new Timestamp(2016, 05, 17, 00, 00, 00, 00);
Timestamp endTime = new Timestamp(2016,06, 06, 23, 59, 59, 00);
Timestamp givenDateString = new Timestamp(2016, 06, 01, 00, 00, 00, 00);
if (givenDateString.compareTo(startTime) < 0 || givenDateString.compareTo(endTime) > 0) {
System.out.println("Not a Valid Date");
}
System.out.println((int)(((givenDateString.getTime() - startTime.getTime() - 1)/(1000L * 3600 * 24 * 7)) + 1));
}
}
一見すると、特定のロジックが5月17日から6月1日までの週数を計算していることがわかります.2週間です。あなたが何か他のものを達成しようとしているのなら、私たちに知らせてください。 5月17日は5月1日から3週間です。 – uday