У меня есть фрагмент кода, который преобразует Date
в XMLGregorianCalendar
, но после просмотра даты результатов разные. Не знаю, почему изменения в датах после конверсий.Дата преобразования XMLGregorianCalendar с неправильными результатами
Код:
public void getDate() throws ParseException {
Date current = null;
String str = "1980-10-26";
DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Date current1 = format.parse(str);
XMLGregorianCalendar xmlCalendar = null;
xmlCalendar = Utility.convertDateToXMLGreCal(current1);
System.out.println("xmlCalendar: "+xmlCalendar);
current = Utility.convertXMLGreClndrToDate(xmlCalendar);
System.out.println("current1: "+current.toString());
}
public static XMLGregorianCalendar convertDateToXMLGreCal(final Date date){
TimeZone zone = TimeZone.getTimeZone("UTC");
GregorianCalendar gregoClndr = new GregorianCalendar(zone);
gregoClndr.setTime(date);
XMLGregorianCalendar xmlGreClndr = null;
try {
final DatatypeFactory dataTypeFactory = DatatypeFactory.newInstance();
xmlGreClndr = dataTypeFactory.newXMLGregorianCalendar(gregoClndr);
} catch (DatatypeConfigurationException e) {
}
return xmlGreClndr;
}
*
Результаты:
xmlCalendar: 1980-10-25T18:30:00.000Z current1: Sun Oct 26 00:00:00 IST 1980
Я ожидаю xmlCalendar
как 1980-10-26T00:00:00.000Z
.
Может кто-нибудь дать мне знать, как это сделать?
Я не знаком с этим, но мне кажется, что дата на 100% правильная, просто другой часовой пояс? – Jaques