关于linux:在Tomcat中更改时区

Change Timezone in Tomcat

如何更改 Tomcat 中的时区?其中一个 webapps (Solr) 使用的时区不正确(与 MySQL 时间戳相比),我认为更改 Tomcat 的时区会有所帮助。谢谢!


除非 tomcat 有个人 TZ 环境变量,否则它使用 /etc/localtime 在我的系统上是 /usr/share/zoneinfo/America/New_York 的副本。

Tomcat 的个人时区将在其启动脚本中以如下形式指定:

1
-Duser.timezone=GMT


这是我在 catalina.sh 开头(shabang 之后)添加的内容以更改 tomcat 的时区:

1
2
TOMCAT_TIMEZONE="-Duser.timezone=Europe/Budapest"
CATALINA_OPTS="$CATALINA_OPTS $TOMCAT_TIMEZONE"

而且别忘了重启tomcat才能生效。


正如Eric Wang所说,你可以使用

1
2
TOMCAT_TIMEZONE="-Duser.timezone=Europe/Budapest"
CATALINA_OPTS="$CATALINA_OPTS $TOMCAT_TIMEZONE"

但在 CentOS 服务器上我没有找到 catalina.sh,而是将这些变量添加到 /etc/sysconfig/tomcat6,这样就可以了!


如果您指的是存储在 Solr 中的数据的时区... Solr 中的所有日期/时间值都通过使用 UTC 的 DateField 存储。