Календарь Java - дата непредсказуема после установки day_of_weekJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Календарь Java - дата непредсказуема после установки day_of_week

Сообщение Anonymous »

У меня есть следующий код в тесте JUnit, который, казалось, работал на прошлой неделе, но на этой неделе не работает:

Код: Выделить всё

Calendar cal = Calendar.getInstance();
cal.set(2011, Calendar.JULY, 12);
cal.set(Calendar.DAY_OF_WEEK, Calendar.FRIDAY); // push the date to 15
System.out.println(cal.get(Calendar.DATE));
Как вы, вероятно, поняли из моего комментария, поскольку 12-е число — вторник, я ожидаю, что Date будет равно 15 после установки DAY_OF_WEEK на пятницу. Однако выведенное значение равно 22, что приводит к сбою теста.

Однако если я изменю код следующим образом и добавлю дополнительный вызов для получения:

Код: Выделить всё

Calendar cal = Calendar.getInstance();
cal.set(2011, Calendar.JULY, 12);
System.out.println(cal.get(Calendar.DATE));
cal.set(Calendar.DAY_OF_WEEK, Calendar.FRIDAY); // push the date to 15
System.out.println(cal.get(Calendar.DATE));
Я получаю ожидаемый результат: 12 и 15.

Может кто-нибудь объяснить, что происходит, и почему этот тест работал на прошлой неделе?

Подробнее здесь: https://stackoverflow.com/questions/672 ... ay-of-week
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»