【发布时间】:2017-05-04 07:01:28
【问题描述】:
java.util.Date date = new SimpleDateFormat("dd-MM-yyyy").parse(request.getParameter("dob"));
System.out.println(date);
java.sql.Date sqlDate = new java.sql.Date(date.getTime());
PreparedStatement ps=cn.prepareStatement("insert into lol values(?,?)");
ps.setString(1, name);
ps.setDate(2, sqlDate);
但输出是 05-MAY-17 这个,我想将 04-05-2017 存储在 oracle db 中。谁能帮帮我
【问题讨论】:
-
日期就是日期,您正在谈论将日期格式化为字符串表示形式。您按原样存储日期,它没有特定的格式。
-
不要混淆某物的显示方式和存储方式。从数据库中检索日期后,您可以通过对其进行格式化来轻松更改日期的显示方式。
-
谢谢@Burhan Khalid 的回复,我会在检索后检查如何转换它。
-
@bharathvarma 你为什么使用
date.getTime()?你为什么不试试ps.setDate(date)? -
@user75ponic,因为
preparedStatement.setDate()不接受java.util.Date参数,它需要java.sql.Date。转换通过getTime()进行。