Работает ли спецификация часового пояса в XMLMapper? - PullRequest
0 голосов
/ 15 февраля 2010

Я получаю DateTime в XML-файле, как этот 2009-12-14 05: 07: 38Z.

Итак, я подумал, что это ошибка, но после небольшого поиска в Интернете я нахожу это:

http://www.w3schools.com/Schema/schema_dtypes_date.asp

Часовые пояса Чтобы указать часовой пояс, вы можно ввести время в UTC добавив "Z" позади времени - как это:

09: 30: 10Z

но когда я указываю DateTime в узле в моем XMLMapper: у меня datetime - усечение, и я просто получаю дату.

Мне нужно больше кофе?

Как это можно сделать?

Спасибо

1 Ответ

6 голосов
/ 15 февраля 2010

Гуго,

Представление часового пояса 'Z' (Zulu) взято из ISO 8601, и оно может применяться либо к значению времени, либо к значению даты-времени. Строка в вашем примере содержит одну строку, представляющую дату «2009-12-14», разделитель пробелов и вторую строку, представляющую время с индикатором часового пояса «05: 07: 38Z». Если вы хотите Комбинированное представление даты и времени , промежуточное пространство следует заменить на 'T', то есть '2009-12-14T05: 07: 38Z'

Я не знаком с XMLMapper, но похоже, что он правильно интерпретирует строку в соответствии с ISO 8601, обрабатывая только часть до места. Вы можете обработать временную часть строки отдельно и объединить их, или заменить '' на '' перед обработкой, или, возможно, даже создать подкласс чего-то, чтобы принять это (слишком распространенное) ублюденное представление ...

Макс

...