如何在tomcat中设置Oracle时区区域

时间:2017-08-16 08:35:35

标签: java oracle tomcat timezone

我有一个连接到Oracle DB的tomcat5服务器,我喜欢指定Oracle会话时区。

我设法通过将JAVA_OPTS="$JAVA_OPTS -Duser.timezone=Europe/Zurich"添加到配置文件tomcat5.conf来定义它。问题是当我在Oracle SELECT SESSIONTIMEZONE FROM dual;中查询时,我得到+02:00

目前这没关系,但是在夏令时关闭的冬季会出现问题 - 除非我重新启动tomcat服务器。

如何将时区设置为区域名称(例如Europe/Zurich)而不是UTC偏移量(例如+02:00)?我想避免在我的Oracle中运行显式的ALTER SESSION SET TIME_ZONE = ...;

1 个答案:

答案 0 :(得分:0)

说真的,Tomcat5? Tomcat 5.5在2012年已经decommissioned。除此之外:我建议以不同的方式解决这个问题:在后端存储时区出没的数据总是很麻烦。因此,除非您向用户展示数据,否则您应始终纯粹存储UTC并且不必担心任何夏令时,用户的地理位置或当前时区。只有这样(并且在输入时)才能将它与当前用户的当前时区相关联并相应地转换为/来自UTC。

因此,您提出的问题可能似乎是合乎逻辑的,但稍后会导致很多的痛苦。节省自己的痛苦,并在后端使用UTC。

您已经知道如何设置Tomcat的默认时区,您可能希望能够另外处理特定于用户的时区,但这是一个完全不同的野兽。