【问题标题】:How to receive date from datetimepicker and save that into database?如何从 datetimepicker 接收日期并将其保存到数据库中?
【发布时间】:2013-06-08 00:15:54
【问题描述】:

我需要从用户那里接收一个日期,并将其保存在数据库中。我正在使用以下 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"/>

Java

...
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;
    }

【问题讨论】:

标签: mysql hibernate jakarta-ee struts2


【解决方案1】:

将显示格式dd-MMM-yyyy更改为MM-dd-yyyy

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

【讨论】:

    【解决方案2】:

    试试这个转换

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

    并将sqlDate保存在mysql表中

    【讨论】:

    • 这不能回答问题。
    • OP中没有struts2Date,你不显示struts2Date是什么类型,你不知道OP在行动和模型中使用哪种类型的日期等等......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-11
    • 1970-01-01
    • 2011-08-30
    • 2017-11-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多