2015-02-24 120 views
2

我正在使用下面的代码将java util date转换为XML格雷戈日历日期,但转换以某种方式将时区添加到日期。将Java.util日期转换为不带时区的XML日期

GregorianCalendar gregorianCalendar = new GregorianCalendar(); 
gregorianCalendar.setTimeInMillis(dte.getTime()); 
XMLGregorianCalendar xmlGrogerianCalendar = DatatypeFactory.newInstance().newXMLGregorianCalendar(gregorianCalendar); 
return xmlGrogerianCalendar; 

我不希望时区成为日期的一部分。任何人都可以指出我怎么能做到这一点?

+0

您下面的答案之一评论似乎反驳你说的问题是什么。你是否想要时区后缀?或者你说你想要UTC(GMT /祖鲁时间)? – Prisoner 2015-02-24 13:33:22

回答

9

您可以更改时区,使其未定义。未定义的字段(合理范围内)不会包含在输出中。

XMLGregorianCalendar xmlGrogerianCalendar = 
    DatatypeFactory.newInstance().newXMLGregorianCalendar(gregorianCalendar); 
xmlGrogerianCalendar.setTimezone(DatatypeConstants.FIELD_UNDEFINED); 
return xmlGrogerianCalendar; 
+0

我怎样才能得到像Jan/feb等instaead数字的月份? – user964819 2015-02-24 14:50:25

+0

你现在在问一个完全不同的问题。我建议你开始一个新的StackOverflow问题,并具体说明你实际需要的日期格式。 – Prisoner 2015-02-24 15:28:51

1

你可以尝试设置中设置的个别领域

GregorianCalendar gregorianCalendar = new GregorianCalendar(); 
gregorianCalendar.setTimeInMillis(System.currentTimeMillis()); 

try { 
    XMLGregorianCalendar xmlGrogerianCalendar = DatatypeFactory.newInstance().newXMLGregorianCalendar(); 
    xmlGrogerianCalendar.setYear(gregorianCalendar.get(GregorianCalendar.YEAR)); 
    xmlGrogerianCalendar.setMonth(gregorianCalendar.get(GregorianCalendar.MONTH)); 
    xmlGrogerianCalendar.setDay(gregorianCalendar.get(GregorianCalendar.DAY_OF_MONTH)); 
    xmlGrogerianCalendar.setHour(gregorianCalendar.get(GregorianCalendar.HOUR_OF_DAY)); 
    xmlGrogerianCalendar.setMinute(gregorianCalendar.get(GregorianCalendar.MINUTE)); 
    xmlGrogerianCalendar.setSecond(gregorianCalendar.get(GregorianCalendar.SECOND)); 

    System.out.println(xmlGrogerianCalendar.toXMLFormat()); 

} catch (DatatypeConfigurationException e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
} 
+0

我需要将值传递给soap webservice,如果尝试使用xmlGrogerianCalendar.setTimezone(DatatypeConstants.FIELD_UNDEFINED);我无法发送请求,它失败..当我手动设置每个字段个人,吨采取默认时区,再次请求失败。是否有任何其他方式? – user964819 2015-02-24 11:42:29

+0

我会说,这个问题将与肥皂web服务,而不是对象的建设。您需要查看WS正在生成的错误,并查看您是否尝试设置它将接受的特定TZ?我认为它不喜欢未定义的TZ。 – crowne 2015-02-24 13:42:25

相关问题