【发布时间】:2015-05-01 17:35:17
【问题描述】:
我正在使用 Grails MongoDb 插件并尝试进行日期转换。
在我的配置中,我定义了不同的日期格式
grails.databinding.dateFormats = [
'yyyy-MM-dd',
'yyyy-MM-dd HH:mm:ss.S',
"yyyy-MM-dd'T'hh:mm:ss'Z'"
]
但是,当我从 mongodb 将一条记录读入我的客户域类时,我仍然收到此错误:我在做什么错?
org.springframework.beans.TypeMismatchException:转换失败 “java.lang.String”类型的属性值到所需类型 属性“lastUpdateDate”的“java.util.Date”;嵌套异常是 org.springframework.core.convert.ConversionFailedException: 失败 从类型 java.lang.String 转换为类型 @org.grails.databinding.BindingFormat java.util.Date 值 '1994-01-29T00:00:00Z';嵌套异常是 java.lang.IllegalArgumentException:java.lang.NumberFormatException: 对于输入字符串:“1994-01-29T00:00:00Z”
【问题讨论】:
-
你从你的数据库中读取了什么?日期是保存为字符串还是日期?
-
是的,我正在从数据库中读取字符串日期。我使用的伪代码是: def cust = new Customer (lasUpdateDate: new Date()) def obj = (DBObject) com.mongodb.util.JSON.parse ("${cust as JSON}") mongo.customers.insert (cust) 这基本上是我希望 Grails 在下面做的事情。