java中前端传过来的时间字符串转为Date类型存入数据库

心已赠人 2023-02-25 13:29 97阅读 0赞

前端传过来的是属于字符串类型,java是无法拿来直接存入数据库的,数据库时间这的字段类型为timestamp

2020-07-07 10:45:57这种类型

这种属于yyyy-MM-dd HH:mm:ss,考虑使用java的工具SimpleDateFormat函数

  1. String releaseDateTem=request.getParameter("releaseDateTem");
  2. SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  3. Date releaseDate = null;
  4. try {
  5. releaseDate = formatter.parse(releaseDateTem);
  6. } catch (ParseException e1) {
  7. // TODO Auto-generated catch block
  8. e1.printStackTrace();
  9. }//string格式转Date格式
  10. article.setReleaseDate(releaseDate);

2020-07-07这种类型

除了可以使用上面的方法以外,开可以使用java.sql.Date.valueOf

  1. String releaseDateTem=request.getParameter("releaseDateTem");
  2. //string格式转Date格式
  3. java.sql.Date releaseDate = java.sql.Date.valueOf(releaseDateTem);
  4. article.setReleaseDate(releaseDate);

这里需要注意的是java.sql.Date.valueOf参数只能是yyyy-mm-dd类型,否则可能会引起报错

  1. java.lang.IllegalArgumentException
  2. 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)

发表评论

表情:
评论列表 (有 0 条评论,97人围观)

还没有评论,来说两句吧...

相关阅读