Java 8 : 使用 Instant,如何检索 ZoneId 信息

Java 8 : Using Instant, How to retrieve ZoneId information

我在我的用例中使用 Java Instant,我想捕捉时间轴中的确切时刻 for.eg, { 当用户最后一次访问我的网站时}。这是数据在后端持久化的时候 (sql)。当我使用 Instant.now();

时,它仍然以 UTC 格式存在

由于我的网站在所有区域(世界上)使用,当用户登陆主页时,我想根据他的 zoneId 将日期时间(他上次访问该网站的时间)显示为 localDateTime。

如何获取 ZoneId 信息?

由于我的网站目前托管在 2 个服务器上,并且两个服务器都在印度,如果我这样做 ZoneId.systemDefault(),我总是会得到印度 ZoneId (Asia/Kolkota)。所以,转换是不可能的。

如果来自美国的人访问了我的服务器,我如何在我的服务器中获取美国的 zoneId?

最好的办法是保持简单。

只需使用UTC 来存储访问时间。前端可以将 UTC 转换为浏览器(因此用户)的时区。