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

前端传过来的是属于字符串类型,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)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值