Estou com problema ao recuperar uma data:
O que acontece no meu arquivo esta gravado 28/06/2000, mas quando coloco esta informação na tela ela vem com a data 28/07/2000, sempre acrescentando mais um ao mês.
Esta informação esta gravada em um XML assim :
…
<dataInstalacao>
<name>
<namespaceURI>http://xxx.xxx.xxx</namespaceURI>
<localPart>dataInstalacao</localPart>
<prefix></prefix>
</name>
<declaredType>javax.xml.datatype.XMLGregorianCalendar</declaredType>
<scope>xxx.xxx.xxx</scope>
<value class="com.sun.org.apache.xerces.internal.jaxp.datatype.XMLGregorianCalendarImpl">
<year>2000</year>
<month>6</month>
<day>28</day>
<timezone>-180</timezone>
<hour>0</hour>
<minute>0</minute>
<second>0</second>
<fractionalSecond>0.000</fractionalSecond>
</value>
<nil>false</nil>
</dataInstalacao>
…
Meu código esta assim :
DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.SHORT, new Locale("pt", "BR"));
if ((empresa.getDataInstalacao() == null) ||
(empresa.getDataInstalacao().getValue() == null)) {
getPnlEmpresas().getPnlEmpresa().getTxtDataInstalacao().setText("");
} else {
XMLGregorianCalendar xtc = empresa.getDataInstalacao().getValue();
GregorianCalendar calendar = new GregorianCalendar(xtc.getYear(), xtc.getMonth(), xtc.getDay());
getPnlEmpresas().getPnlEmpresa().getTxtDataInstalacao().setText(dateFormat.format(calendar.getTime()));
}
Por favor me ajudem não estou conseguindo resolver.