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

时间:2015-08-29 17:27:14

标签: sql-server date grails

我使用grails-2.4.5,SQL Server 2008 R2数据库开发了一个grails应用程序并面临一个奇怪的问题。在我的一个域类中,有一个Date数据类型字段。当我从相应表单提交数据时,它会将其正确保存到数据库,但在显示视图中,日期显示两天前保存的日期。例如我输入1992年6月8日,它将数据库保存为“1992-06-08 00:00:00.0000000”,但在节目视图中它变为“06/06/1992”

我在show页面中使用了g:formatDate标记。 (<g:formatDate format="dd/MM/yyyy" date="${aaaOrganizationInstance?.dateOfEstablish}"/>

控制器保存操作:

@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] }
    }
}

1 个答案:

答案 0 :(得分:0)

SQL Server JDBC驱动程序存在一个已知问题,导致您出现症状。 Here's一个相关的问题。

解决方案

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