gpt4 book ai didi

java - 为什么设置时区值会影响整个项目,而不是影响单个实例?

转载 作者:行者123 更新时间:2023-12-01 17:19:14 25 4
gpt4 key购买 nike

在我的程序中,我已将用户登录时的默认TimeZone设置为用户TimeZone

我使用这一行来设置TimeZone

TimeZone.setDefault(TimeZone.getTimeZone(usersTimeZoneInMilliSecond)) ;

但我注意到,当另一个人从另一个区域登录时,一个人的TimeZone会更改为另一个位置。

通过此方式,从世界不同地区登录的每个人都将获得最后登录者的时区

任何人都可以帮助我理解为什么会发生这种情况或者我如何避免这种情况。

我使用 javaScript 提取 getTimezoneOffset ,并且我需要在后续程序的所有其他位置使用该值。它是必需的,因为我正在开发类似日历的 View ,并且应用程序需要知道他们看到的日期,而不是 UTC 或服务器时间。

最佳答案

您的代码更改静态 *默认*时区。如果您只想为特定用户更改它,则需要将其保存在仅针对每个用户的非静态变量中。

检查TimeZone.setDefault javadoc。

为了节省每个用户的时区,这取决于您正在运行的程序以及在什么环境中。

如果是基于 Web 的环境,我认为将时区 ID 存储为 Session 属性是最好的主意。

关于java - 为什么设置时区值会影响整个项目,而不是影响单个实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19975936/

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