1
我有一個應用程序存儲一些文件上包含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);
我該如何解決這個問題?
請注意,只有當設備語言被更改時纔會發生此錯誤,無論日期類型如何。如果設備語言保持不變,該方法不會引起任何崩潰