Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
更改javax.xml输出的日期格式_Java_Xml_Jaxb - Fatal编程技术网

更改javax.xml输出的日期格式

更改javax.xml输出的日期格式,java,xml,jaxb,Java,Xml,Jaxb,我有一个Tomcat服务器应用程序,它根据我填充的类创建xml响应 其中一个类具有日期字段: @XmlRootElement public class Login { private String mLoginUserID; private String mLoginPassword; private Date mRecordChangeDateTime; ... @XmlElement(name = "recordChangeDateTime") public D

我有一个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>
2011-08-02T21:03:00-04:00
我正在努力解决的几个问题

1) 在将日期转换为本地时区时,始终将日期作为UTC处理,但是当javax.xml输出它时,它将应用时区转换

2) 我正在尝试配置日期的格式。在我的客户端设备中,我的标准格式是“yyyy-MM-dd HH:MM:ss”,并且希望xml响应也使用这种格式

我花了很多时间研究并试图解决这个问题,我尝试了许多SimpleDataFormat、XMLGregorianCalendar等的变体。。。但无论如何,我所做的一切都不会改变输出。。。我不确定是否有注释或其他允许我以编程方式配置日期输出的内容

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

这是ISO8601格式


您要使用,如所述。这将允许您指定处理该元素的所有类型转换的。你可以提供一个自定义的解析/格式化日期的方法。这个答案是你需要的(使用XmlAdapter)。谢谢RC,谢谢链接很完美,工作起来很有魅力。关于时区转换问题的快速更新,它与我用来从数据库中提取日期的recordset.getDate(“field”)方法有关。将日历对象集添加到UTC和使用recordset.getDate(“field”,cal)减轻了时区转换。干杯