Grails不加时间地插入日期

时间:2013-03-09 14:18:23

标签: mysql grails gorm

我的域中有一个日期属性,我想在没有时间的情况下插入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 

3 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分: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)

答案 2 :(得分:1)

您应该使用java.sql.Date而不是java.util.Date
java.sql.Date对应于SQL DATE,这意味着它存储了年,月和日,而忽略了小时,分钟,秒和毫秒。另外,sql.Date与时区无关 有关这两者的详细解释,请参阅java.util.Date vs java.sql.Date