gpt4 book ai didi

quarkus - 如何将 quarkus 中的时区设置为 UTC

转载 作者:行者123 更新时间:2023-12-04 10:41:54 27 4
gpt4 key购买 nike

我正在使用 quarkus 1.2.0。

一般:

客户端浏览器向服务器请求数据。服务器(Quarkus 应用程序)正在从客户端接收 UTC 时间。 (ok) 现在服务器应该将数据库中的数据与客户端浏览器时间进行比较,并且应该返回数据库中的每个数据,这是在客户端时间之后。

我有 postgres 作为数据库。每次当我将新数据或修改数据保存到数据库中时,我都会使用 UTC 时间保存数据。
我通过 <property name="hibernate.jdbc.time_zone" value="UTC"/> 强制执行此操作在persistence.xml 中。
我已经检查过了,数据以UTC时间保存在postgres数据库中。

问题:

虽然数据库中的数据是以utc格式保存的,但是quarkus从数据库中取出数据时,会将数据传输到本地时区(GMT+0100)。
现在我遇到的问题是服务器正在将转换为 (GMT) 的数据与客户端时间 (UTC) 进行比较。

如何强制 quarkus 使用 UTC 时区?

最佳答案

您是否尝试过通过-Duser.timezone=UTC执行 jar 时?

Quarkus 应用程序只是一个标准的 Java 应用程序。

另一种选择是通过创建一个观察启动事件的 CDI bean 直接在您的应用程序中设置它:

@Singleton
public class TimezoneSettings {

public void setTimezone(@Observes StartupEvent startupEvent) {
System.setProperty("user.timezone", "UTC");
}
}

我只是不完全确定这对您的申请来说是否足够早。你将不得不尝试它。

关于quarkus - 如何将 quarkus 中的时区设置为 UTC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59896136/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com