manager java_opts configurar java tomcat timezone tomcat7

java_opts - tomcat manager url



¿Cómo cambiar la zona horaria del servidor de Tomcat 7? (5)

En Linux simplemente agregue la siguiente línea en setenv.sh que se encuentra en CATALINA_HOME/bin/ . CATALINA_OPTS="-Duser.timezone=Asia/{your zone}"

Mi aplicación se implementó en Debian vps en EE. UU., Los Ángeles. Así que el código como el new SimpleDateFormat("yyyy-MM-dd HH:mm").format(new Date()) devolverá la hora actual de América / Los Ángeles.

¿Puedo hacer alguna configuración en el archivo de configuración de Tomcat ( server.xml o catalina.sh o qué?) Para que obtener la hora actual devuelva un TimeZone específico como GMT + 8 o Asia / Taipei ???


La zona horaria personal de Tomcat se especificaría en su secuencia de comandos de inicio de la siguiente forma:

-Duser.timezone=GMT


Con todos los diferentes lugares donde puede establecer zonas horarias, es (en general) siempre mejor establecer explícitamente la zona horaria cuando se trata de tiempos. Sí, su servidor está en Los Ángeles, pero ¿dónde están sus usuarios?

Dado que tratar explícitamente con zonas horarias hace que su aplicación sea algo más compleja (pero también más correcta, menos sorprendente, más difícil de probar), la siguiente sería hacer explícitamente a tomcat (java) saber en qué zona horaria está configurado el reloj del servidor. Cuidado: hay algunos niveles para configurar esto: configure el reloj del servidor en UTC, configure su sistema operativo del servidor como PST y luego informe a Java de la zona horaria en la que se encuentra su servidor, por ejemplo, en setenv.sh haga CATALINA_OPTS="$CATALINA_OPTS -Duser.timezone=America/Los_Angeles" (o cualquiera que sea su zona horaria) para configurar Java para su zona horaria.

Pruebe, enjuague, repita hasta que esté satisfecho con la configuración. Pero hágalo una elección explícita en todos los niveles diferentes que pueda tener en sus manos. La resolución de la zona horaria es más bien una función java que una función tomcat.

Es muy importante para el mantenimiento de su software almacenar siempre los tiempos en UTC. Si alguna vez almacena en su zona horaria local, el cálculo de cualquier otra zona horaria será un desastre: piense en los horarios de ahorro de luz diurna, el cambio de zonas horarias de diferentes áreas del mundo, etc.

Entonces: configure su servidor en UTC, luego obtenga la hora actual, verifique si es correcta. Para fines de visualización, puede utilizar la zona horaria local (del usuario) (por ejemplo, PST), pero para el almacenamiento y el cálculo, UTC es muy recomendable.


Para Windows: vaya a catalina.bat y agregue la propiedad CATALINA_OPTS (bajo inicio).

: doStart shift set CATALINA_OPTS = -Duser.timezone = America / Denver


Si quieres cambiarlo de eclipse ... Ejecutar -> Ejecutar configuración -> Apache tomcat -> Servidor Tomcat -> Argumentos VM agregar -Duser.timezone = America / Montreal