Как JAX-WS отображает дату XML с часовым поясом на дату Java? - PullRequest
0 голосов
/ 17 ноября 2010

Как JAX-WS отображает дату XML-схемы (xs:dateTime) в Java Date? В частности, если сервер JAX-WS получает xs:dateTime, который содержит часовой пояс, переводит ли JAX-WS дату в часовой пояс сервера? Например, предположим, что серверу, на котором выполняется JAX-WS, задана дата XML 2010-08-20T00:00:00-04:00, а сервер работает в часовом поясе UTC-5, после того как JAX-WS отобразит дату в свойство Java Date now, какая строка now.toString() производить?

С учетом набора дат XML в качестве входных данных JAX-WS отобразит их на коллекцию объектов Java Date, но в журнале, к моему удивлению, я вижу сочетание часовых поясов EST и EDT, когда ожидаю чтобы увидеть все даты в EST, текущий часовой пояс хоста.

1 Ответ

3 голосов
/ 18 ноября 2010

Date.toString () печатает время относительно часового пояса сервера.

Например,

SimpleTimeZone stz = new SimpleTimeZone(-18000000, "UTC-5");
TimeZone.setDefault(stz);

Означает, что все вызовы Date.toString () будут иметь формат Fri Jan 01 0:00:00 GMT-5:00 2010

Следовательно, если у вас есть веб-служба, которая взяла ввод Date и вернул его без каких-либо изменений, он будет изменен в соответствии с часовым поясом сервера.

Если у вас естьлюбые дальнейшие вопросы, я бы посоветовал вам поиграть с этим самостоятельно.

...