Grails-选择和保存的日期不同

Grails-选择和保存的日期不同,grails,timezone,audit-logging,Grails,Timezone,Audit Logging,我有一个Grails2.5.6应用程序,是用运行在Docker容器中的Java1.8开发的。在应用程序开发期间,我在Bootstrap.groovy中定义了时区,如下所示: TimeZone.setDefault(TimeZone.getTimeZone("America/La_Paz")) 这就是问题所在:我在表格中选择了一个日期,比如说2021年5月11日。然后我在数据库中检查日期是否保存为2021-05-11 00:00:00,这是正确的。但show视图显示日期为20

我有一个Grails2.5.6应用程序,是用运行在Docker容器中的Java1.8开发的。在应用程序开发期间,我在
Bootstrap.groovy
中定义了时区,如下所示:

TimeZone.setDefault(TimeZone.getTimeZone("America/La_Paz"))
这就是问题所在:我在表格中选择了一个日期,比如说2021年5月11日。然后我在数据库中检查日期是否保存为
2021-05-11 00:00:00
,这是正确的。但show视图显示日期为2021年5月10日。当我调用编辑表单时,日期甚至被检索为2021年5月10日。因此,如果我更新记录,日期将保存为2021年5月10日

有什么不对劲吗


PD:我也在使用审计日志记录,这可能是原因吗?

使用以下行运行docker容器解决了问题:

docker run -d -e JAVA_OPTS='-Duser.timezone=America/La_Paz' -p 8091:8080 mycontainer

发送JAVA_OPTS参数成功了。

这是一个时区问题,这是正确的。数据库中使用的数据类型是什么?您使用的是哪个品牌的DBMS(数据库引擎)?如何保存日期?我使用MySql 5.7和DATETIME作为日期的数据类型。applicaton CRUD是使用Grails默认脚手架实现的。