2016-05-26 42 views
0

我从普惠制视图得到的日期和时间的字符串:NumberFormatException的对于输入字符串时,试图做的Grails日期搜索

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 

回答

1

将您StringDate它传递给findByNameAndDateCreatedGreaterThan之前,例如

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

我有你的方法有问题:该方法建立周四4月28日18时17分42秒BST 2016,但我需要的格式为:“2016年4月28日18时17分42秒” –

+0

@ D.O。如果你的日期格式不是'yyyy-MM-dd HH:mm:ss',那么你需要改变传递给Date.parse的格式字符串以匹配你使用的任何格式。如果可能,我会尝试更改'params',以便以更简单的格式传递日期。星期几是多余的 –

相关问题