2

我的域中有一个日期属性,我想立即插入 MySQL。获取异常不能将字符串转换为date.Exception消息:

无法将具有类 java.lang.String 的对象 2013-03-09 转换为类 java.util.Date

我想在没有时间的情况下插入数据库。

领域:

class Day {

    
Date date
    
        static mappings = {
        table name:'Days'
   
              date type: 'date'
         
         
    }

控制器:

def today = new Date()
def ymdFmt = new java.text.SimpleDateFormat("yyyy-MM-dd")
Date dateYmd = ymdFmt.format(today) 



        day.date =dateYmd 
4

3 回答 3

3
day.date = new Date().clearTime()

clearTime() 将时间部分重置为 00:00:00

于 2014-03-05T12:42:30.447 回答
1

我想你不想看Date.parse http://groovy.codehaus.org/groovy-jdk/java/util/Date.html#parse(java.lang.String , java.lang.String)

你可以像这样解析日期。

String stringDate = '28/09/2010'
Date date = new Date().parse('d/M/yyyy', stringDate)
于 2013-03-09T14:29:36.167 回答
1

您应该使用java.sql.Date而不是java.util.Date.

该类java.sql.Date对应于 SQL DATE,这意味着它存储年、月和日,而忽略小时、分钟、秒和毫秒。此外java.sql.Date,与时区无关。

有关两者的良好解释,请参见java.util.Date vs java.sql.Date

于 2013-03-09T21:08:47.620 回答