1

我需要从用户那里收到一个日期,并将其保存在数据库中。我正在使用以下 datetimepicker 来接收日期,我收到的日期如下,

它遇到以下异常

  SEVERE: org.hibernate.exception.GenericJDBCException: Value '0000-00-00' can not be represented 
  as java.sql.Date

输入日期

   Thu Jun 13 00:00:00 EST 2012

我如何才能检索日期才能将其保存到数据库中?

JSP

  <sx:datetimepicker name="mydate"
                           label="myDate"
                           displayFormat="dd-MMM-yyyy"
                           value="todayDate"/>

爪哇

...
private Date mydate;
...
@Temporal(javax.persistence.TemporalType.DATE)
getter

setter

数据库

name     type
mydate   Date

即使我也使用以下方法来设置变量,它也会抛出相同的异常

public Date getCurrentDate(){
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
        Date date = new Date();
        System.out.println("Current Date" + dateFormat.format(date));
        return  date;
    }
4

2 回答 2

0

将显示格式更改dd-MMM-yyyyMM-dd-yyyy

<sx:datetimepicker name="mydate"
    label="myDate"
    displayFormat="MM-dd-yyyy"
    value="todayDate"/>
于 2013-08-20T19:34:36.347 回答
0

试试这个转换

java.sql.Date sqlDate = new java.sql.Date(struts2Date.getTime());

并将sqlDate保存在 mySQL 表中

于 2015-01-06T08:40:47.637 回答