Я пробовал следующий пример. Если я пройду указанные даты, он должен вернуться на 3-ей неделе, но он вернется на вторую неделю. Что не так в моем коде? Пожалуйста, помогите мне в этом.Неправильный номер недели данной даты
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));
}
}
На первый взгляд, я вижу, что данная логика вычисляет количество недель между 17 мая и 1 июня. И это 2 недели. Сообщите нам, если вы пытаетесь достичь чего-то другого. 17 мая - 3 недели от 01 мая. – uday