This tutorial shows you how to convert XMLGregorianCalendar to Date in Java. It is popular case that you usually catch up while working with XML in Java. By using Java API, you can easily do this conversion of XMLGregorianCalendar to Date and Date to XMLGregorianCalendar.
We are together to create the “Convert XMLGregorianCalendar to Date” and “Convert Date to XMLGregorianCalendar” examples like below:
Convert Date to XMLGregorianCalendar
Convert XMLGregorianCalendar to Date example is a java program, which convert XMLGregorianCalendar instances to java.util.Date instances. Let see detail the snippet below:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
package com.javabycode.xml; import java.util.Date; import java.util.GregorianCalendar; import javax.xml.datatype.DatatypeConfigurationException; import javax.xml.datatype.DatatypeFactory; import javax.xml.datatype.XMLGregorianCalendar; public class ConvertDateToXMLGregorianCalendar { public static void main(String args[]) { try { // Should use constructor instead of getInstance() GregorianCalendar c = new GregorianCalendar(); Date date = new Date(); c.setTime(date); XMLGregorianCalendar xmlDate; xmlDate = DatatypeFactory.newInstance().newXMLGregorianCalendar(c); System.out.println("Convert Date to XMLGregorianCalendar in Java : "+ xmlDate); } catch (DatatypeConfigurationException e) { // do somthing e.printStackTrace(); } } } |
Here is output
1 |
Convert Date to XMLGregorianCalendar in Java : Sat Jun 18 11:55:54 ICT 2016 |
Convert XMLGregorianCalendar to Date
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
package com.javabycode.xml; import java.util.Date; import java.util.GregorianCalendar; import javax.xml.datatype.DatatypeConfigurationException; import javax.xml.datatype.DatatypeFactory; import javax.xml.datatype.XMLGregorianCalendar; public class ConvertXMLGregorianCalendarToDate { public static void main(String args[]) { try { GregorianCalendar cal = new GregorianCalendar(); XMLGregorianCalendar xmlCalendar = DatatypeFactory.newInstance() .newXMLGregorianCalendar(cal); Date date = xmlCalendar.toGregorianCalendar().getTime(); System.out .println("Convert XMLGregorianCalendar to Date in Java : " + date); } catch (DatatypeConfigurationException e) { // do somthing e.printStackTrace(); } } } |
Here is output
1 |
Convert XMLGregorianCalendar to Date in Java : Sat Jun 18 11:55:54 ICT 2016 |
Note some important points about XMLGregorianCalendar:
1) XML Schema supports three data types such as date, time and datetime and defined by three tags xsd:date, xsd:time and xsd:dateTime. While working with XML using JAXB framework then JAXB XJC maps all these types to XMLGregorianCalendar.
2) It’s possible to define xml schema for converting XMLGregorianCalendar to Date. The XJC(Binding compiler) will generate Date instead of XMLGregorianCalendar. I will show this way for you soon.
3) One more important thing, you should use constructor to create instance of GregorianCalendar instead of GregorianCalendar.getInstance(). Because it’s same as Calendar.getInstance() and can return different instances base on Local settings.
That’s it. Hope that you could catch up how to convert XMLGregorianCalendar to Date in Java and Date to XMLGregorianCalendar. You can also refer to the Complete Java XML tutorial to get more Java Xml knowledge.
Happy learing!