我从上一个问题Grails input error: property must be a valid date的答案中尝试了此片段

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)
}

我的字符串输出是一月dd yyyy,二月dd yyyy,三月dd yyyy,依此类推。基本上它给出了完整的月份名称

现在,当我在输入中尝试类似2000年1月1日的错误时,错误为Unparseable date: "January 01 2000"

最佳答案

应该这样做:

 static SimpleDateFormat sdf = new SimpleDateFormat('MMM dd yyyy')

解释here

关于date - 日期解析不可解析,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21642125/

10-12 04:52