У меня проблема с java timezones, если кто-нибудь может мне помочь.JVM и часовые пояса
У меня есть веб-приложение, работающее на Tomcat 5.5 (не уверен, если это уместно), со следующей JVM версии
[[email protected] bin]$ java -version
java version "1.5.0_06"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_06-b05)
Java HotSpot(TM) Server VM (build 1.5.0_06-b05, mixed mode)
[[email protected] bin]$
Дата система, скажем -
[[email protected] bin]$ date
Mon Aug 15 09:09:46 EST 2011
В пределах веб-приложение, я делаю вызов в определенный момент до Calendar.getInstance().getTime()
, и я печатаю эту метку времени в журналах.
Проблема в том, что эта временная метка возвращается в EDT, хотя время сервера находится в EST. По этой причине возвращенная дата на 1 час позже, чем должна.
Что я хочу достичь, это сделать Calendar.getInstance().getTime()
, чтобы вернуть дату в том же часовом поясе, что и система.
Я искал форумы и нашел несколько предложений о том, что jvm неправильно считывает часовой пояс системы. Я попытался запустить tomcat с параметром -Duser.timezone=EST
, но система продолжает возвращать отметки времени в часовом поясе EDT. Пожалуйста, обратите внимание - кажется, что работает -Duser.timezone
с параметром неуместности. Проблемы, по-видимому, носят иной характер.
Моя проблема как-то схожа с this SO question. Тем не менее, я только пытаюсь получить дату в том же часовом поясе, что и система, без какой-либо специальной обработки.
Вы можете помочь?
Имейте ввиду, что если вы ищете только объект даты с текущим временем, вы можете вызывать новую дату() вместо использования Календаря. Вам все равно придется следовать совету Маурисио, установив часовой пояс по умолчанию. – jpredham
Возможно, вы уже знаете, но EDT и EST - это тот же часовой пояс с/без DST. Август, как правило, EDT, поэтому _practically_ нет EST в августе в США. http://en.wikipedia.org/wiki/Eastern_Time_Zone – Nivas
Да, я думаю, что проблема может быть связана с этим, поскольку, например, работает -Duser.timezone = AET. Однако я ищу постоянное решение этой проблемы, а не обходные пути. – Andrei