Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Kilimangaro
3 / 3 / 0
Регистрация: 11.07.2012
Сообщений: 54
#1

Форматирование даты из строки - Android

12.01.2016, 15:27. Просмотров 334. Ответов 4
Метки нет (Все метки)

Есть строковая дата вида "2016-01-13 13:15:00", как из нее сделать вот это
13 Января 2016,
СР 13:15
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.01.2016, 15:27     Форматирование даты из строки
Посмотрите здесь:

Странное форматирование в Eclipse Android
Android Форматирование текста и действие по нажатию кнопки назад
Android Передача даты в базу данных
Android Вывод текущей даты в Button
Android Диалоговый ввод даты и времени
Android Отображение даты
EditText для ввода даты Android
Форматирование времени Android
Android Захват даты с устройства
Android Вывод даты в приложении
Изменить формат даты Android
Android Форматирование строки, полученной из БД

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Паблито
2014 / 1756 / 546
Регистрация: 12.05.2014
Сообщений: 6,215
Завершенные тесты: 1
12.01.2016, 15:54     Форматирование даты из строки #2
я не знаю что такое СР, поэтому там будет выводить EET и в русском языке принято писать название месяцев в дате с маленькой буквы
Java
1
2
3
4
5
6
7
    private static final DateFormat orig = new SimpleDateFormat("yyyy-dd-MM HH:mm:ss");
    private static final DateFormat target = new SimpleDateFormat("dd MMMM yyyy\nz HH:mm", new Locale("ru", "RU"));
 
    @NotNull
    private static String convertDate(String d) throws ParseException {
        return target.format(orig.parse(d));
    }
Если хочется именно что бы с большой, то надо будет добавлять пару строк в метод, но это не по феншую.

Переменные вынес за пределы метода что бы их по многу раз не создавать (подозреваю метод будет вызываться много раз. в цикле).

Java
1
String convDate = convertDate("2016-01-13 13:15:00");
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,070
12.01.2016, 15:58     Форматирование даты из строки #3
Java
1
2
3
4
5
Locale locale = new Locale("ru", "RU"); 
SimpleDateFormat dateFormat = new SimpleDateFormat("dd MMMM yyyy\nEE HH:mm", locale);
Calendar calendar = Calendar.getInstance(); 
calendar.set(2016, 0, 13, 13, 15);
System.out.println(dateFormat.format(calendar.getTime()));
Паблито
2014 / 1756 / 546
Регистрация: 12.05.2014
Сообщений: 6,215
Завершенные тесты: 1
12.01.2016, 16:05     Форматирование даты из строки #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ

Не по теме:

с календарем тоже вариант, но я понял задачу дословно - прилетает строка такого вида )



Добавлено через 2 минуты

Не по теме:

черт, СР это же СРЕДА
тогда так

Java
1
    private static final DateFormat target = new SimpleDateFormat("dd MMMM yyyy\nE HH:mm", new Locale("ru", "RU"));

Kilimangaro
3 / 3 / 0
Регистрация: 11.07.2012
Сообщений: 54
12.01.2016, 16:31  [ТС]     Форматирование даты из строки #5
Паблито, там только orig немного перепутался
было
Java
1
private static final DateFormat orig = new SimpleDateFormat("yyyy-dd-MM HH:mm:ss");
я заменил на:
Java
1
private static final DateFormat orig = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
и получил желаемый результат:
13 янврая 2016
ср 13:15
P.S. Да, СР - это среда

Спасибо!
Yandex
Объявления
12.01.2016, 16:31     Форматирование даты из строки
Ответ Создать тему
Опции темы

Текущее время: 20:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru