首页 > String 类型的"2016-07-29"怎么转换成Date类型的"2016-07-29 00:00:00"

String 类型的"2016-07-29"怎么转换成Date类型的"2016-07-29 00:00:00"

新增的时候需要加进去时间。
jsp中:::
deadline="2016-07-29"

servlet中接收::
String deadline = request.getParameter("deadline");

数据库中::
deadline的类型是 :"yyyy-MM-dd HH:mm:ss"

问题:怎么将String类型的“2016-07-29”变成Date类型的“2016-07-29 00:00:00”

给看一下哪里出问题了:
String deadline = null;
try{
deadline = request.getParameter("deadline");
Format f = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
Date d = (Date)f.parseObject(deadline);
}catch(ParseException e){
e.printStackTrace();
}
但是这样转换不行。。。
给指导一下吧


因为你传入的是2016-07-29,你的格式是yyyy-MM-dd hh:mm:ss,明显不匹配啊,你需要先转成yyyy-MM-dd,这样就可以了,后面的00:00:00会自动加上的


这两个格式是不匹配的,没有办法直接转换,网上很多对Date转换的工具类,如果经常用到Date转换, 建议集成到项目中


如果你数据库的deadline类型是varchar

String deadline = request.getParameter("deadline");
Format dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date date = dateFormat.parse(deadline);
Format dateTimeFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String deadlineTime = dateTimeFormat.format(date);

这里得到的deadlineTime就是你想要的2016-07-29 00:00:00

如果你数据库的deadline类型是date或者timestamp
那么直接使用上面得到的date对象就可以了

把user的deadline类型改为Date,用java.util.Date这个,Object date = dateFormat.parseObject(deadline);改为Date date = dateFormat.parse(deadline);

【热门文章】
【热门文章】