Страница 1 из 1

Ошибка: java.text.ParseException

Добавлено: 07 окт 2013, 13:32
Doc
Добрый день подскажите пожалуйста при конвертации строки в дату получаю следующий ексепшн:
10-07 12:58:19.047: W/System.err(13857): java.text.ParseException: Unparseable date: "Fri Aug 09 16:12:56 Восточноевропейское время 2013"
Насколько я понимаю нужно правильно выставить локаль? Но какую?
Вот метод который конвертит:

Код: Выделить всё

public static String ConvertStringToDate(Object data){
	
	SimpleDateFormat format = new SimpleDateFormat(Constants.DATE_FORMAT, Locale.getDefault());
	Date newDate = null;
	try {
			newDate = format.parse(data.toString());
	} catch (ParseException e) {
		// TODO исправить
		Log.i(null, e.getMessage());
	}
	
	return format.format(newDate);
	
}
}
где

Код: Выделить всё

public static final String DATE_FORMAT = "dd/MM/yyyy"; 

Re: Ошибка: java.text.ParseException

Добавлено: 07 окт 2013, 13:48
anber
Почему-то метод называется ConvertStringToDate т.е. по идее входящим параметром должен быть String а возвращаемым значением типа Date
Могу предположить что тебе в метод приходит объект типа Date хотя тип параметра почему-то Object, и ты хочешь вернуть строку вида "dd/MM/yyyy".

Для этого вполне хватит:

Код: Выделить всё

  public static String ConvertStringToDate(Date data) {
    SimpleDateFormat format = new SimpleDateFormat(DATE_FORMAT, Locale.getDefault());
    return format.format(data);
  }
То что происходит у тебя в коде:
data.toString() переводить объект типа Date в строку "Fri Aug 09 16:12:56 Восточноевропейское время 2013"
потом ты эту сроку вызовом метода format.parse() пытаешь распарсить по образцу "dd/MM/yyyy" на что система резонно выдает ParseException - не может распарсить строку

Re: Ошибка: java.text.ParseException

Добавлено: 07 окт 2013, 14:20
Doc
Да действительно в объекте хранилась уже готовая дата... и парсить ничего не нужно было. По поводу названия, метод периодически менялся в связи с поиском ошибок а название оставалось прежним...
Спасибо.