我正在尝试将html5 datepicker的日期插入到具有数据类型日期的Oracle表中,我尝试了很多事情,但我仍然面临问题,请帮助我解决问题。
static int addNotification(String date,String message)
{
int i=0;
try {
ps=con.prepareStatement("INSERT into ev values(?,to_date(?,'DD-MON-YYYY'))");
ps.setString(1, message);
DateFormat originalFormat = new SimpleDateFormat("yyyyMMdd");
DateFormat targetFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
java.util.Date dt = originalFormat.parse(date);
String formattedDate = targetFormat.format(dt);
System.out.println(formattedDate);
ps.setString(2, formattedDate);
// ps.setDate(2,formattedDate);
i=ps.executeUpdate();
}
每当我进行更改时,我都会得到新的例外情况。
java.sql.SQLException:ORA-01861:literal与格式字符串不匹配
java.text.ParseException:无法解析的日期(' YYYY-MM-DD')
请帮助我解决这个问题。
答案 0 :(得分:1)
您可以按如下方式使用PreparedStatement.setDate(int parameterIndex,Date x)
。
try {
ps=con.prepareStatement("INSERT into ev values(?,?)");
ps.setString(1, message);
DateFormat originalFormat = new SimpleDateFormat("yyyyMMdd");
java.util.Date dt = originalFormat.parse(date);
ps.setDate(2,dt);
i=ps.executeUpdate();
}
答案 1 :(得分:1)
如果您想转换日期,请使用,
DateFormat originalFormat = new SimpleDateFormat("yyyyMMdd");
如果没有建议您不直接捕获html 5 datepickers数据,我宁愿使用javascript转换它并将其发送给响应。
通过日期课程: -
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date