NumberFormatException 对于尝试在 grails 中进行日期搜索时的输入字符串

NumberFormatException For input string when try to do a date search in grails

我从 gsp 视图中得到一个带有日期和时间的字符串:

def name = params.name
def time = params.minutes
def date = params.datapicker

现在,我想按日期和姓名在我的域中进行搜索。所以,我加入日期和时间并进行搜索:

def dataSearch = date + " " + time
MyDomain result= MyDomain.findByNameAndDateCreatedGreaterThan(name, dataSearch)

但是,我收到了这个错误:

2016-05-26 09:56:44,488 [http-bio-8090-exec-3] ERROR errors.GrailsExceptionResolver  - NumberFormatException occurred when processing request: [POST] /myClass/search- parameters:

name: Bob
minutes: 18:17:42
button: search
datapicker: 2016-04-28
For input string: "2016-04-28 18:17:42". Stacktrace follows:
Message: For input string: "2016-04-28 18:17:42"
    Line | Method
->>   65 | forInputString in java.lang.NumberFormatException

将您的 String 转换为 Date,然后再传递给 findByNameAndDateCreatedGreaterThan,例如

def dataSearch = date + " " + time
Date date = Date.parse('yyyy-MM-dd HH:mm:ss', dataSearch)
MyDomain result = MyDomain.findByNameAndDateCreatedGreaterThan(name, date)