我将日期作为单个string存储在数据库中,格式为“ 2 15 2015”(大概是“ M d yyyy”?)。以下代码中的strDate包含获取日期的方法的返回值。我想解析日期以便设置datepicker。根据Java string to date conversion中的示例

我创建了以下代码来解析日期,但在获取“ Unhandled Exception: java.text.ParseException

Date date = format.parse(strDate);


挠我的头。

Calendar mydate = new GregorianCalendar();
String strDate = datasource.get_Column_StrVal(dbData,
        MySQLiteHelper.dbFields.COLUMN_SPECIAL_DAYS_DATE);
SimpleDateFormat  format = new SimpleDateFormat("M d yyyy", Locale.ENGLISH);
Date date = format.parse(strDate);
mydate.setTime(date);

最佳答案

因为没有处理ParseException方法引发的parse,所以收到了编译时错误。这是必需的,因为ParseException不是运行时异常(由于它直接从java.lang.Exception扩展,因此是已检查的异常)。

您需要用try / catch包围代码以处理异常,如下所示:

try {
    SimpleDateFormat  format = new SimpleDateFormat("M d yyyy", Locale.ENGLISH);
    Date date = format.parse(strDate);
    mydate.setTime(date);
} catch (ParseException e) {
    //handle exception
}

07-27 21:23