Я пытаюсь получить воскресение той же недели, что и заданная дата. Во время этого я столкнулся с этой проблемой:
Calendar calendar = Calendar.getInstance(Locale.GERMANY);
calendar.set(2017, 11, 11);
calendar.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
System.out.println(calendar.getTime().toString());
приводит к "Sun Jan 07 11:18:42 CET 2018"
но
Calendar calendar2 = Calendar.getInstance(Locale.GERMANY);
calendar2.set(2017, 11, 11);
calendar2.getTime();
calendar2.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
System.out.println(calendar2.getTime().toString());
дает мне правильную дату "Sun Dec 17 11:18:42 CET 2017"
Может кто-нибудь объяснить, почему первый пример действительно ведет себя таким образом? Это действительно предназначено?
Спасибо