Sql server Grails应用程序显示错误的日期

Sql server Grails应用程序显示错误的日期,sql-server,date,grails,Sql Server,Date,Grails,我用grails-2.4.5、SQLServer2008R2数据库开发了一个grails应用程序,但遇到了一个奇怪的问题。在我的一个域类中,有一个日期数据类型的字段。当我从各个表单提交数据时,它会将数据正确地保存到数据库中,但在“显示”视图中,日期会显示两天前保存的日期。例如,我输入了1992年6月8日,它保存到数据库中为“1992-06-08 00:00:00.0000000”,但在show视图中它变成了“06/06/1992” 我在show页面中使用了g:formatDate标记。() 控制

我用grails-2.4.5、SQLServer2008R2数据库开发了一个grails应用程序,但遇到了一个奇怪的问题。在我的一个域类中,有一个日期数据类型的字段。当我从各个表单提交数据时,它会将数据正确地保存到数据库中,但在“显示”视图中,日期会显示两天前保存的日期。例如,我输入了1992年6月8日,它保存到数据库中为“1992-06-08 00:00:00.0000000”,但在show视图中它变成了“06/06/1992”

我在show页面中使用了g:formatDate标记。(

控制器保存操作:

@Transactional
def save(AaaOrganization aaaOrganizationInstance) {
    if (aaaOrganizationInstance == null) {
        notFound()
        return
    }

    if (aaaOrganizationInstance.hasErrors()) {
        respond aaaOrganizationInstance.errors, view:'create'
        return
    }

    aaaOrganizationInstance.save flush:true

    request.withFormat {
        form multipartForm {
            flash.message = message(code: 'default.created.message', args: [message(code: 'aaaOrganization.label', default: 'AaaOrganization'), aaaOrganizationInstance.id])
            redirect aaaOrganizationInstance
        }
        '*' { respond aaaOrganizationInstance, [status: CREATED] }
    }
}

SQL Server JDBC驱动程序中有一个已知问题会导致您的症状。一个相关的问题

解决方案
要解决此问题,您可以安装更新的JDBC驱动程序。

您的输入表单的gsp代码是什么样子的?还有你的控制器。我认为这与输入表单的gsp和控制器无关,因为我已经通过连接grails的嵌入式内存数据库对应用程序进行了测试,没有出现问题。无论如何,这是我的日期输入表单视图,控制器的保存操作被添加到主要问题中。看看这个:谢谢Emmanuel Rosa!你提供的链接帮助我解决了这个问题。我已经下载了更新的SQL Server jdbc驱动程序,问题已经解决。再次感谢你,不客气。我会继续写下来作为答案。