LOCALDATE saklar sadece yıl/ay/gün bilgisi:geri dönüştürme basittir. İçinde zaman ve zaman bilgisi yok. XMLGregorianCalendar tarih (yıl/ay/gün) + isteğe bağlı olarak zaman ve isteğe bağlı olarak saat dilimi bilgilerini depolar. Yani XMLGregorianCalendar için LOCALDATE dönüştürme
basittir:, LOCALDATE için XMLGregorianCalendar dönüştürme
LocalDate in;
XMLGregorianCalendar out;
in = LocalDate.parse("1999-11-11");
out = DatatypeFactory.newInstance().newXMLGregorianCalendar(in.toString());
kadar basit değil olabilir XMLGregorianCalendar çünkü sadece saklayamazsınız zaman ve zaman dilimi bilgilerini olabilir LocalDate içinde.
Ancak, XMLGregorianCalendar'dan LocalDate'e dönüştürüyorsanız, XMLGregorianCalendar öğesinin nontimezoned xsd: date öğesinden (xml'de YYYY-AA-GG olarak gösterilir) kaynaklandığını tahmin ediyorum. Bu durumda böyle dönüştürmek olmalıdır:
XMLGregorianCalendar in;
LocalDate out;
in = DatatypeFactory.newInstance().newXMLGregorianCalendar("2011-11-11");
out = LocalDate.parse(in.toXMLFormat());
Tüm örnek: Burada cevap edilmiş olanların
{
LocalDate in;
XMLGregorianCalendar out;
in = LocalDate.parse("1999-11-11");
out = DatatypeFactory.newInstance().newXMLGregorianCalendar(in.toString());
System.out.println("in: " + in.toString());
System.out.println("out: " + out.toXMLFormat());
}
{
XMLGregorianCalendar in;
LocalDate out;
in = DatatypeFactory.newInstance().newXMLGregorianCalendar("2011-11-11");
out = LocalDate.parse(in.toXMLFormat());
System.out.println("in: " + in.toXMLFormat());
System.out.println("out: " + out.toString());
}
O benziyor http://stackoverflow.com/questions/835889/java-util -date-to-xmlgregoriancalendar? answertab = oy # tab-top –
@AnkurAnand Bu sorunun çok benzer olduğunu sanmıyorum - 'Date 'den' LocalDate'den dönüştürmem gerekiyordu ve ben de Her iki yönde. Cevaplar benzer olabilir, çünkü dönüşüm, "Tarih" i bir adım olarak gerektirir, ancak soru bu değildir. – maja