Получение даты в Java на ОС Centos не правильно? - PullRequest
3 голосов
/ 24 ноября 2010

Привет всем у меня есть приложение j2ee, использующее Spring Framework и во время отладки на онлайн-сервере (Centos OS) при попытке получить дату в приложении, напечатав значение new Date(); объекта он получает время в GMT-6, хотя при получении серверного времени через терминал дата команды, которую она получает во время по Гринвичу, в реальном времени, поэтому мне интересно, откуда появился GMT-6, почему происходит такое странное поведение?

Ответы [ 3 ]

1 голос
/ 24 ноября 2010

Это звучит как вопрос локали для меня. В частности, это не проблема, это просто способ обработки различных часовых поясов / региональных настроек в Java.

Использование кода из этой статьи :

Properties p = System.getProperties();
Enumeration keys = p.keys();
while (keys.hasMoreElements()) {
  String key = (String)keys.nextElement();
  String value = (String)p.get(key);
  System.out.println(key + ": " + value);
}

вы можете увидеть, как Java интерпретирует вашу среду.

Если вы измените настройки часового пояса / региона CentOS, Java должна подобрать это изменение и соответственно отобразить время.

Но это звучит как перебор, и настройка формата даты на основе локали может быть тем, что вам нужно.

Разные приложения могут по-разному выводить одну и ту же дату.

0 голосов
/ 24 ноября 2010

Проблема решена после перезапуска Apache, Tomcat ... но до сих пор не знаю, почему такое поведение.

0 голосов
/ 24 ноября 2010

Возможно, где-то в вашем приложении часовой пояс по умолчанию изменяется с TimeZone.setDefault(..)?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...