通过javax.xml更改日期格式输出

时间:2011-08-22 04:50:59

标签: java xml jaxb

我有一个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)我正在尝试配置日期的格式。我的标准格式是在我的客户端设备上“yyyy-MM-dd HH:mm:ss”,并且希望xml响应也使用这种格式。

我花了很多时间研究并尝试解决这个问题,我尝试过很多SimpleDateFormat,XMLGregorianCalendar等等......但是我没做什么改变输出......我不确定是否有一个注释或其他东西,允许我以编程方式配置日期输出?

任何见解都将不胜感激! 谢谢,

1 个答案:

答案 0 :(得分:2)

这是ISO8601格式。

您希望使用XmlJavaTypeAdapter,如here所示。这将允许您指定处理该元素的所有类型转换的XmlAdapter。您可以提供一个自定义的解析/格式化日期,但您可以。

相关问题