2015-07-03 4 views
0

Получаю следующую дату из моей базы данных SQLite, которую вытаскивают как строку в следующем формате '03 -07-2015 '.Преобразование String в формат даты для добавления в строковый arraylist

Я хочу, чтобы этот формат отображался следующим образом: «Пт 3 июля 2015 года» Я делаю это с помощью SimpleDateFormat, тогда мне нужно передать это в ArrayList, я не могу заставить это работать, любые советы о том, что я делаю неправильно было бы высоко ценится.

String dayNumberSuffix = getDayOfMonthSuffix(3); 
SimpleDateFormat sdf = new SimpleDateFormat("EEEE dd'" + dayNumberSuffix + "' MMMM yyyy"); 
String d = sdf.format(cursor.getString(1)); 
dates.add(d); // ArrayList<String> 

String getDayOfMonthSuffix(final int n) { 
    switch (n % 10) { 
     case 1: return "st"; 
     case 2: return "nd"; 
     case 3: return "rd"; 
     default: return "th"; 
    } 
} 

Я пробовал несколько различных вариантов, но я считаю, что одно выше самое близкое.

+0

Что результат этого метода вы пробовали? –

ответ

2

вам нужно разобрать дату в разборе 03-07-2015, что вы получите из базы данных и форматировать его:

String dayNumberSuffix = getDayOfMonthSuffix(3); 
SimpleDateFormat parseSDF = new SimpleDateFormat("dd-MM-yyyy"); 

SimpleDateFormat sdf = new SimpleDateFormat("EEEE dd'" + dayNumberSuffix + "' MMMM yyyy"); 
Date date = parseSDF.parse(cursor.getString(1)); 
String d = sdf.format(date); 
dates.add(d); // ArrayList<String> 

должны это сделать

Смежные вопросы