Изменение формата даты на выходе с помощью javax.xml - PullRequest
1 голос
/ 22 августа 2011

У меня есть серверное приложение Tomcat, которое создает xml-ответы на основе заполненных классов.

У одного из классов есть поле даты:

@XmlRootElement
public class Login {

    private String mLoginUserID;
    private String mLoginPassword;
    private Date mRecordChangeDateTime;

...

@XmlElement(name = "recordChangeDateTime")
public Date getRecordChangeDateTime() {
    return mRecordChangeDateTime;
}

Полученный вывод XML выглядит:

<recordChangeDateTime>2011-08-02T21:03:00-04:00</recordChangeDateTime>

Проблемы с парой Я пытаюсь выяснить ...

1) При преобразовании даты в местный часовой пояс дата обрабатывается как UTC на всем протяжении, но когдаjavax.xml выводит его, он применяет преобразование часового пояса.

2) Я пытаюсь настроить форматирование даты.Мой стандартный формат - «гггг-мм-дд чч: мм: сс» на моих клиентских устройствах, и я хотел бы, чтобы ответ xml также использовал этот формат.

Я потратил много часов на исследование и попыткучтобы справиться с этим, я попытался использовать множество вариаций SimpleDateFormat, XMLGregorianCalendar и т. д. ... но в любом случае я ничего не изменяю в выводе ... Я не уверен, что есть аннотация или что-то еще, что позволяет мне настроитьдата выводится программно?

Любые идеи будут с благодарностью!Спасибо,

1 Ответ

2 голосов
/ 22 августа 2011

Это формат ISO8601.

Вы хотите использовать XmlJavaTypeAdapter , как указано здесь .Это позволит вам указать XmlAdapter , который обрабатывает все преобразования типов для этого элемента.Вы можете предоставить пользовательский файл, который будет анализировать / форматировать даты по вашему желанию.

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