Oтформатировать дату?

Нужно получить из даты строку вида «Сентябрь 2012», «Декабрь 2012» и тд.


Что я сделал: установил русскую локаль, пытаюсь форматировать по шаблону «MMMM yyyy», выдает «Сентября 2012», т.е. в родительном падеже, а нужно в именительном. Связываться с массивами и конкатенацией строк не хочется.


Гугление подсказало, что у других противоположная проблема: месяц выводится в именительном падеже, а им нужно в родительном. Это меня только сбило с толку.


Может, форматтеру можно подсунуть свой массив имен месяцев?


UPD: код

Locale locale = new Locale("ru");
Locale.setDefault(locale);

SimpleDateFormat MONTH_DF = new SimpleDateFormat("MMMM yyyy");
Date date = new Date();
((TextView) view.findViewById(R.id.statements_item_date)).setText(MONTH_DF.format(date));
  • Вопрос задан
  • 8036 просмотров
Пригласить эксперта
Ответы на вопрос 3
@nikolawan
new SimpleDateFormat("LLLL yyyy")
Ответ написан
Комментировать
barker
@barker
Ну код покажите что-ли.
Может, форматтеру можно подсунуть свой массив имен месяцев?

Можно:
DateFormatSymbols.setMonths -> new SimpleDateFormat(«MMMM yyyy», symbols);
Ответ написан
SSiarhei
@SSiarhei
запустил ваш код — выводится «Сентябрь 2012»

jdk 1.6.0_33
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы