【发布时间】:2014-12-06 13:25:10
【问题描述】:
我有一个应用程序,它在文件中存储一些包含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)
返回这个错误的方法是this
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);
我该如何解决这个问题?
请注意,无论日期类型如何,只有在更改设备语言时才会发生此错误。如果设备语言保持不变,该方法不会导致任何崩溃
【问题讨论】:
标签: android parse-error gregorian-calendar