2014-11-24 3 views
0

У нас есть два сервера приложений linux на моей работе, как с установленной websphere 6.1. Я написал простое автономное приложение java для печати текущего времени.websphere jre часовой пояс неправильный

public static void main(String[] args) { 
      TimeZone tz = TimeZone.getDefault(); 
      System.out.println("the default timezone is " + tz.getDisplayName(true, TimeZone.LONG)); 
      System.out.println("the default timezone ID is " + tz.getID()); 
      System.out.println("useDaylightTime = " + tz.useDaylightTime()); 
    } 

На сервере приложений окно я получаю ...

the default timezone is Eastern Summer Time (New South Wales) 
the default timezone ID is Australia/Sydney 
useDaylightTime = true 

На сервере приложений коробки б я получаю ...

the default timezone is GMT+10:00 
the default timezone ID is GMT+10:00 
useDaylightTime = false 

Я хочу сервер приложений b будет таким же, как a. Может ли кто-нибудь помочь мне с тем, что мне может понадобиться, чтобы это произошло?

благодаря

+0

Возможно, вы захотите увидеть [3 способа изменения часового пояса в Linux - wikiHow] (http://www.wikihow.com/Change-the-Timezone-in-Linux) –

+0

@Paul. Привет, я не думаю, что это проблема системного времени. Когда я набираю дату в командной строке, время идентично. Я думаю, что это проблема времени java jre. – Richie

+0

Вы имели в виду, что ** timezones ** в обеих машинах одинаковые? –

ответ

0

При использовании метода getDefault(), если не кэшируются, Java будет

Use the user.timezone property value as the default time zone ID if it's available. 
Detect the platform time zone ID. 
Use GMT as the last resort if the given or detected time zone ID is unknown. 

Основываясь на своем отчётный выходе появляется, как если сервер приложений б не пользователя. временной набор свойств. Согласно http://chandank.com/application-server/was/set-timezone-in-websphere-application-server, вы можете установить часовой пояс, выполнив следующие действия

1. Start the administrative console. 
2. In the topology tree, expand Servers >> Application Servers. 
3. Click on application server for which you want to set the time zone 
4. On the application server page, click Process Definition>>Java Virtual Machine>>Custom Properties>>New 
5. Specify user.timezone in the Name field and timezone in the Value field, where timezone is the supported value for your time zone. 
6. Click Apply/ok 
7. Save the configuration 


ex : Name - user.timezone 
    value - Asia/Singapore 

Так что я бы проверить, что она установлена ​​правильно для вашей системы б. В вашем случае вы измените Азию/Сингапур в Австралию/Сидней

Если описанная выше процедура не работает (по какой-либо причине), я просто настраиваю часовой пояс через настройки часов, чтобы исправить это, предположив, что вы можете это сделать. У меня нет системы Websphere для ее проверки.

+0

спасибо за эти комментарии. Я проверил консоль websphere для user.timezone на поле b, и она не существует как пользовательское свойство. Я предполагаю, что это означает, что он использует идентификатор зоны часового пояса платформы. Но я думаю, что они установлены одинаково на обеих коробках (см. Мой комментарий к @Charlie). – Richie

+0

Вы могли попробовать добавить его как новое настраиваемое свойство за шаг 4 или эта опция недоступна? Я считаю, что свойство, не находящееся там, будет объяснять проблему с тех пор, как это будет по умолчанию GMT. –

+0

он не был установлен на обеих машинах, поэтому изначально я не пытался его установить, но я просто попытался установить его на поле a и угадать, что ... он сработал! Благодарю. Тем не менее, разница между двумя моими коробками. Но все в порядке. Ценю вашу помощь – Richie

Смежные вопросы