У меня есть приложение, в котором хранятся некоторые объекты, содержащие String date
на файле, эта строка для некоторых операций должна анализироваться как GregorianCalendar
. Теперь я нашел этот вопрос: когда пользователь изменить язык устройства после создания файла, приложение становится не в состоянии правильно обработать сохраненный файл и врезается возвращения этой ошибкиПриложение вылетает, когда пользователь меняет язык устройства
java.text.ParseException: Unparseable date: "27 Sep 2014 23:09:07" (at offset 3)
10-11 14:20:09.573 3745-3745/uk.myapp W/System.err﹕ at java.text.DateFormat.parse(DateFormat.java:561)
метод, который возвращает эта ошибка это
public static GregorianCalendar stringInCalendar(String s, String formatPattern) {
DateFormat format = new SimpleDateFormat(formatPattern);
Date date = null;
try {
date = format.parse(s);
} catch (ParseException e) {
e.printStackTrace();
}
GregorianCalendar cal = new GregorianCalendar();
cal.setTime(date);
return cal;
}
И ошибка происходит на этом line date = format.parse(s);
Как можно исправить эту проблему?
Обратите внимание, что эта ошибка возникает только в том случае, если язык устройства изменяется независимо от типа даты. Если язык устройство остается тем же, метод не вызывает каких-либо аварии