我在前面的问题Grails输入错误:属性必须是有效日期中尝试了答案中的这个片段
class YourController {
static SimpleDateFormat sdf = new SimpleDateFormat( 'MM dd yyyy' )
def saveUser() {
def userInstance = new User(params)
Date dateOfBirth = sdf.parse( params.dateOfBirth ) <-------- this
if (!userInstance.save(flush: true)) {
render(view: "createUser", model: [userInstance: userInstance])
return
}
flash.message = message(code: 'default.created.message', args: [message(code: 'user.label', default: 'User'), userInstance.id])
redirect(action: "showUser", id: userInstance.id)
}我的字符串输出是一月yyyy,二月dd,三月dd等等。基本上,它给出了整个月的名称
现在,当我在输入中尝试类似于2000年1月1日的内容时,错误是Unparseable date: "January 01 2000"。
发布于 2014-02-08 05:16:52
这应该可以做到:
static SimpleDateFormat sdf = new SimpleDateFormat('MMM dd yyyy')解释这里
月份:如果图案字母数为3或更多,则将月解释为文本;否则,将解释为数字。
发布于 2015-07-12 12:48:51
我也有同样的问题。我建议您看看它在<g:datePicker>默认grails标记中是如何工作的。http://grails.github.io/grails-doc/3.0.x/ref/Tags/datePicker.html
<g:datePicker name="my_date" value="${new Date()}" precision="day"/>它将日期发送到分隔字段中的服务器,如:
my_date="date.struct"
my_date_day="12"
my_date_month="7"
my_date_year="2015"这意味着你必须分割你的输入字段。
我就是这样解决这个问题的。
https://stackoverflow.com/questions/21642125
复制相似问题