我有一个解析字符串到sql.date的问题 这段代码只在我的项目中第一次工作,它会正常解析日期,但第二次抛出例外。不可解析的日期异常:字符串到java.sql.date
我打印了函数收到的日期,它是相同的格式,例如02.02.2016是okey,我只将月份更改为02.04.2016并引发异常。
private final SimpleDateFormat dateFormat = new SimpleDateFormat("dd.mm.yyyy");
private final String sqldateFormat = "yyyy-mm-dd";
public java.sql.Date changeDate(String date) {
String newDate = "";
try {
java.util.Date d = dateFormat.parse(date);
dateFormat.applyPattern(sqldateFormat);
newDate = dateFormat.format(d);
} catch (ParseException e) {
e.printStackTrace();
}
return java.sql.Date.valueOf(newDate);
}
请显示整个异常(不在注释中,通过编辑问题) –
为什么要将字符串转换为java.util.Date,然后转换为java.sql.Date?您可以根据java.util.Date的时间值创建一个'java.sql.Date'。 –
考虑在**字段**'dateFormat'上使用'applyPattern'时会发生什么:您正在更改'dateFormat',因此后续对'changeDate'的调用将失败。 –