前端传过来的是属于字符串类型,java是无法拿来直接存入数据库的,数据库时间这的字段类型为timestamp
2020-07-07 10:45:57
这种类型
这种属于yyyy-MM-dd HH:mm:ss
,考虑使用java的工具SimpleDateFormat
函数
String releaseDateTem=request.getParameter("releaseDateTem");
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date releaseDate = null;
try {
releaseDate = formatter.parse(releaseDateTem);
} catch (ParseException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}//string格式转Date格式
article.setReleaseDate(releaseDate);
2020-07-07
这种类型
除了可以使用上面的方法以外,开可以使用java.sql.Date.valueOf
String releaseDateTem=request.getParameter("releaseDateTem");
//string格式转Date格式
java.sql.Date releaseDate = java.sql.Date.valueOf(releaseDateTem);
article.setReleaseDate(releaseDate);
这里需要注意的是java.sql.Date.valueOf
参数只能是yyyy-mm-dd
类型,否则可能会引起报错
java.lang.IllegalArgumentException
at java.sql.Date.valueOf(Unknown Source)
分析是参数不合规定,sql.date类型装换出现问题。
关于java.sql.Date.Date.valueOf(String date);
其中date是表示"yyyy-MM-dd"的形式日期字符串。
以下是API的方法说明:
public static Date valueOf(String s)将 JDBC 日期转义形式的字符串转换成 Date 值。
参数:
s - 表示 “yyyy-mm-dd” 形式的日期的 String 对象
返回:
表示给定日期的 java.sql.Date 对象
抛出:
IllegalArgumentException - 如果给定日期不是 JDBC 日期转义形式 (yyyy-mm-dd)