【发布时间】:2022-08-19 06:40:17
【问题描述】:
我开发了一个 Grails 4.0.3 Rest API 来向系统用户发送通知。
当我在数据库中保存一条消息时,我不知道为什么,但它从当前日期增加了三个小时。一开始我以为是服务器的时间,但是当我看到它时,我注意到服务器的时间是正确的。
现在在巴西的时间是 2022-08-16 12:08:54.710 并且服务器是正确的。但是在数据库中,它保存了 2022-08-16 14:55:54.710。
下面的代码保存了一条消息:
def message = new Message(userId: springSecurityService?.principal?.id,
author: jsonObject.get(\'author\'),
partId: params.partId,
title: jsonObject.get(\'title\'),
text: jsonObject.get(\'text\'),
createdOn: new Date()).save(flush: true, failOnError: true)
谁能帮我解决这个问题?
谢谢。
-
您使用的是什么数据库,它配置为哪个时区?
-
嗨丹尼尔,我正在使用 MS SQL Server,但我认为问题不存在,因为当我在本地运行应用程序时,它按预期工作。在服务器中,小时是正确的,但是当我解散应用程序时,它会增加 3 小时到它应该是正确的小时。
-
[root@DMZAPL03 ~]# timedatectl 当地时间:星期四 2022-08-18 10:04:43 -03 世界时间:星期四 2022-08-18 13:04:43 UTC RTC 时间:星期四 2022-08-18 13: 04:42 时区:America/Sao_Paulo (-03, -0300) 启用 NTP:是 NTP 同步:是 本地 TZ 中的 RTC:没有 DST 活动:n/a