0

这是第二周试图找到我的问题的答案......一切都很好,除了将日期字段插入数据库问题......我相信有人可以帮助我!谢谢你 !

数据库列是:campstart,它是一个“没有时区的时间戳”

++++++++++ JSP 页面如下:

...(一些代码)//格式化日期:

SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm");

...(一些代码)//从网页获取输入

<input name="start" type="text" value="<%= defaultCampaign.getCampstart() != null ? dateFormat.format(defaultCampaign.getCampstart()) : dateFormat.format(new java.util.Date()) %>">

...(更多代码)

++++++++++ 在 Java 上:

...(一些代码)//声明变量

private java.util.Date campstart = null;

...(一些代码)//分配数据

public void setCampstart(java.util.Date aCampstart) {   
this.campstart = aCampstart;  } 

public java.util.Date getCampstart() {
  return this.campstart; }

...(一些代码)//写入 PostgreSQL +下面是有问题的行+

pst.setTimestamp(10, new Timestamp(this.getCampstart().getTime()));

...(更多代码)

+++++++++

当我将代码行更改为以下(用于调试)时,它工作正常:

pst.setTimestamp(10, new Timestamp(new java.util.Date().getTime()));

日期插入完美,它写入数据库没有错误。但是,当我更改代码以插入用户日期时,它给了我以下错误:

org.apache.jasper.JasperException:无法将字符串“04/07/2012 19:12”转换为属性“campstart”的类“java.util.Date”:属性编辑器未向 PropertyEditorManager 注册

有人可以帮我弄清楚我做错了什么......

谢谢你 !!

抢。

4

1 回答 1

0

当我更改日期格式时,它就可以工作了。出于某种原因,它在“7”而不是“07”之类的月份发送。

于 2012-07-10T22:02:09.650 回答