Как изменить часовой пояс сервера Tomcat 7?
мое приложение развернуто в Debian vps в США, Лос-Анджелес. Так что код вроде new SimpleDateFormat("yyyy-MM-dd HH:mm").format(new Date())
вернет текущее время Америки / Лос-Анджелеса.
могу ли я сделать некоторые настройки в файле конфигурации Tomcat (server.xml
или catalina.sh
или что?) так что получить текущее время вернет указанный часовой пояс, как GMT+8 или Азия/Тайбэй ???
5 ответов
со всеми различными местами, где вы можете установить часовые пояса, (в целом) всегда лучше явно установить часовой пояс, когда вы имеете дело со временем. Да, ваш сервер находится в Лос-Анджелесе, но где ваши пользователи?
поскольку явное обращение с часовыми поясами делает ваше приложение несколько более сложным (но также более правильным, менее удивительным, сложнее протестировать), следующим лучшим было бы явно сделать tomcat (java) знать, в каком часовом поясе установлены часы вашего сервера. Осторожный: Есть несколько уровней, чтобы установить это: Установите часы сервера в UTC, настройте серверную ОС на PST, а затем сообщите java о часовом поясе, на котором находится ваш сервер, например, в setenv.sh
do CATALINA_OPTS="$CATALINA_OPTS -Duser.timezone=America/Los_Angeles"
(или независимо от вашего часового пояса), чтобы настроить Java для вашего часового пояса.
Если вы хотите изменить его с eclipse... Выполнить --> выполнить конфигурацию --> Apache tomcat --> сервер Tomcat --> аргументы VM add-Duser.часовой пояс=Америка / Монреаль
в Linux просто добавьте следующую строку в setenv.sh
который находится на CATALINA_HOME/bin/
.
CATALINA_OPTS="-Duser.timezone=Asia/{your zone}"
для Windows-перейти к Каталине.bat и добавить CATALINA_OPTS свойство (в разделе пуск).
:doStart сдвиг установить CATALINA_OPTS= - Duser.часовой пояс=Америка / Денвер