Calendar.WEEK_OF_YEAR не работает должным образом. Моя цель - каждый понедельник - новая неделя. Результаты, которые я получаю, находятся в комментариях к коду.Calendar.WEEK_OF_YEAR не работает должным образом
Но я не могу найти решение.
Мой код:
Calendar cal = Calendar.getInstance();
//cal.setMinimalDaysInFirstWeek(7);
//cal.setFirstDayOfWeek(0);
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
Date d = sdf.parse("27/12/2014"); //SAT
Date d1 = sdf.parse("28/12/2014"); //SUN
cal.setTime(d);
Integer weekNumber1 = cal.get(Calendar.WEEK_OF_YEAR);
cal.setTime(d1);
Integer weekNumber2 = cal.get(Calendar.WEEK_OF_YEAR);
System.out.println(weekNumber1);// 52
System.out.println(weekNumber2);// 1`
второй:
Calendar cal = Calendar.getInstance();
cal.setMinimalDaysInFirstWeek(7);
//cal.setFirstDayOfWeek(0);
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
Date d = sdf.parse("27/12/2014"); //SAT
Date d1 = sdf.parse("28/12/2014"); //SUN
cal.setTime(d);
Integer weekNumber1 = cal.get(Calendar.WEEK_OF_YEAR);
cal.setTime(d1);
Integer weekNumber2 = cal.get(Calendar.WEEK_OF_YEAR);
System.out.println(weekNumber1);// 51
System.out.println(weekNumber2);// 52
И третий один:
Calendar cal = Calendar.getInstance();
cal.setMinimalDaysInFirstWeek(7);
cal.setFirstDayOfWeek(0);
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
Date d = sdf.parse("27/12/2014"); //SAT
Date d1 = sdf.parse("28/12/2014"); //SUN
Date d2 = sdf.parse("29/12/2014"); //Mon
cal.setTime(d);
Integer weekNumber1 = cal.get(Calendar.WEEK_OF_YEAR);
cal.setTime(d1);
Integer weekNumber2 = cal.get(Calendar.WEEK_OF_YEAR);
cal.setTime(d2);
Integer weekNumber3 = cal.get(Calendar.WEEK_OF_YEAR);
System.out.println(weekNumber1);// 52
System.out.println(weekNumber2);// 52
System.out.println(weekNumber3);// 52
Дата d2 = sdf.parse ("28/12/2014"); // Пн ошибается Понедельник 29/12 –
вопрос редактируется, но вывод не обрабатывается 29 возвращает 52 – Tato