Страницы

Поиск по вопросам

четверг, 19 декабря 2019 г.

Как получить название текущего месяца на русском?

#java #android #calendar


mSelectMonth = (TextView)view.findViewById(R.id.select_month);
Calendar calendar = Calendar.getInstance();
mSelectMonth.setText(calendar.getDisplayName(Calendar.MONTH, Calendar.LONG_FORMAT,
Locale.ENGLISH));


Так выводим на английском, а как сделать русский?
    


Ответы

Ответ 1



Использовать русскую локаль вместо английской: Calendar calendar = Calendar.getInstance(); String month = calendar.getDisplayName(Calendar.MONTH, Calendar.LONG_FORMAT, new Locale("ru")); Вывод на экран: августа Если нужны нестандартные названия месяцев, то придётся создать массив с ними: String[] monthNames = { "Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь" }; String month = monthNames[calendar.get(Calendar.MONTH)]; Август

Ответ 2



Calendar cal = Calendar.getInstance(); String month = new SimpleDateFormat("MMMM", new Locale("ru")).format(cal.getTime());

Ответ 3



Добавлю свои 5 копеек: Использовать русскую локаль вместо английской Не все Android аппараты поддерживают русскую локаль. Если требуется универсальная поддержка русской локали для всех аппаратов, то надо использовать либу ICU4J, которая цепляется через LocaleServiceProvider

Комментариев нет:

Отправить комментарий