这几行代码
SimpleDateFormat formatter = new SimpleDateFormat("dd/mm/yy");
ContentValues values = new ContentValues();
values.put(COL_EVENT_ID, appointment.mEventId);
try {
values.put(COL_START_DATE, String.valueOf(formatter.parse(appointment.mStartDate.toString())));
values.put(COL_END_DATE, String.valueOf(formatter.parse(appointment.mEndDate.toString())));
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
导致此异常
10-15 11:44:38.150: WARN/System.err(3861): java.text.ParseException: Unparseable date: "Mon Jan 10 00:10:00 GMT+02:00 2011"
可能的解决方案是什么?
最佳答案
你的格式完全错误。当您可能指的是 MM
时,您不仅使用了 mm
(表示分钟),而且这样:
Mon Jan 10 00:10:00 GMT+02:00 2011
显然不格式
dd/MM/yy
你可能想要类似的东西
EEE MMM dd HH:mm:ss z yyyy
编辑:这在桌面 Java 中对我有用:
import java.text.*;
public class Test {
public static void main(String[] args) throws ParseException {
String value = "Mon Jan 10 00:10:00 GMT+02:00 2011";
String pattern = "EEE MMM dd HH:mm:ss z yyyy";
DateFormat format = new SimpleDateFormat(pattern);
System.out.println(format.parse(value));
}
}
当然,您可能想要设置 SimpleDateFormat
的区域性。
关于java - java中不可解析的日期异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7777075/