Calendar.WEEK_OF_YEAR возвращает неверное значение?

Я попытался получить неделю года с помощью приведенного ниже кода, но он всегда возвращает «3», я даже установил часовой пояс на GMT, но все равно возвращаю то же значение ("3"). Пожалуйста, помогите мне здесь

DateFormat formatter = new SimpleDateFormat("dd-mm-yyyy");
Date date = formatter.parse("14-10-2014")
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
System.out.println(calendar.get(Calendar.WEEK_OF_YEAR));

person ayush bagaria    schedule 14.10.2014    source источник
comment
unicode.org/reports/tr35/tr35-31/   -  person Hot Licks    schedule 14.10.2014


Ответы (1)


Вы устанавливаете минуты, а не месяц. Похоже, он анализирует это как 2014-01-14T00:10:00, и что 14 января 2014 года приходится на третью неделю. Вы хотите MM месяцев, а не mm.

(Я также рекомендую вам использовать yyyy-MM-dd, если у вас есть возможность полностью изменить формат - это соответствует стандарту ISO-8601...)

person Jon Skeet    schedule 14.10.2014