Страницы

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

суббота, 1 июня 2019 г.

Получение даты через String.format()

Есть код для Android,цель выводить имя месяца:
day_of_month = (TextView)findViewById(R.id.day_of_month); day_of_week = (TextView)findViewById(R.id.day_of_week); String month_s = String.format("%1$tB",new Date()); String day_s = String.format("%1$tA",new Date()); month.setText(month_s); day_of_week.setText(day_s);
Все хорошо,кроме падежа месяца:он выводиться как Марта,Февраля,Сентября и т.д,то есть в родительном падеже.Как вывести в именительном:Март,Февраль,Сентябрь?
Благодаря ответу код приобрёл такой вид:
SimpleDateFormat format = new SimpleDateFormat("yyyy;LLLL;dd;EEEE"); String date_string = String.format("%s",format.format(new Date())); String[] date_array = date_string.split(";"); year.setText(date_array[0]); month.setText(date_array[1]); day_of_month.setText(","+date_array[2]); day_of_week.setText(date_array[3]);


Ответ

По-моему, через String.format - никак. С API 9 можно воспользоваться SimpleDateFormat с параметром "L" (stand-alone month):
SimpleDateFormat format = new SimpleDateFormat( "LLLL" ); System.out.printf( "sdf: %s%n", format.format( new Date() ) ); // sdf: Март
Аналогичный параметр для дня недели - "c", хотя для русского языка это не важно.

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

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