这个问题与:
XmlBeans XmlDateTime format without timezone info

但是我需要在XMLBeans中打印日期,而没有任何时区信息。
我从万维网财团那里读到的是:


  “日期对象”是仅具有年,月和日属性的对象
  类似于dateTime对象,以及可选的时区值
  时区属性


http://www.w3.org/TR/xmlschema-2/#date

关键字是可选的。我需要将其从默认XMLBeans行为中删除。

我尝试过的

XmlDateTime xmlDateTime = XmlDateTime.Factory.newInstance();
xmlDateTime.setCalendarValue(new GregorianCalendar());
GDateBuilder gdb = new GDateBuilder(xmlDateTime.getDateValue());
gdb.normalize();
xmlDateTime.setGDateValue(gdb.toGDate());
instruction.setReqdExctnDt(gdb.getCalendar());
CBIPartyIdentification4 partyId = CBIPartyIdentification4.Factory.newInstance();


我得到的是2014-05-16Z我需要的是2014-05-16

我怎样才能做到这一点?

最佳答案

使用XmlCalendar类,该类不会添加时区信息:

XmlDateTime xmlDateTime = XmlDateTime.Factory.newInstance();
Calendar xmlCalendar = new XmlCalendar();
xmlCalendar.set(Calendar.YEAR, 2014);
xmlCalendar.set(Calendar.MONTH, 2);
xmlCalendar.set(Calendar.DATE, 22);
xmlDateTime.setCalendarValue(xmlCalendar);

10-08 15:31