Showing posts with label XML Gregorian. Show all posts
Showing posts with label XML Gregorian. Show all posts

Thursday, May 25, 2023

How to convert XMLGregorianCalendar to Date to XMLGregorianCalendar in Java - Example Tutorial

To convert an XMLGregorianCalendar to a Date and then back to an XMLGregorianCalendar in Java, you can follow these steps:

1. Import the necessary classes:


import java.util.Date;
import javax.xml.datatype.DatatypeFactory;
import javax.xml.datatype.XMLGregorianCalendar;

2. Convert XMLGregorianCalendar to Date:


public Date convertXMLGregorianCalendarToDate(XMLGregorianCalendar xmlCalendar) {
    return xmlCalendar.toGregorianCalendar().getTime();
}

3. Convert Date to XMLGregorianCalendar:


public XMLGregorianCalendar convertDateToXMLGregorianCalendar(Date date) throws Exception {
    GregorianCalendar calendar = new GregorianCalendar();
    calendar.setTime(date);
    return DatatypeFactory.newInstance().newXMLGregorianCalendar(calendar);
}

Here's an example that demonstrates the conversion:


import java.util.Date;
import java.util.GregorianCalendar;
import javax.xml.datatype.DatatypeFactory;
import javax.xml.datatype.XMLGregorianCalendar;

public class XMLGregorianCalendarConversionExample {

    public static void main(String[] args) {
        try {
            // Create an XMLGregorianCalendar object representing a date
            XMLGregorianCalendar xmlCalendar = DatatypeFactory.newInstance().newXMLGregorianCalendarDate(2023, 5, 25, 0);

            // Convert XMLGregorianCalendar to Date
            Date date = convertXMLGregorianCalendarToDate(xmlCalendar);
            System.out.println("XMLGregorianCalendar to Date: " + date);

            // Convert Date to XMLGregorianCalendar
            XMLGregorianCalendar convertedCalendar = convertDateToXMLGregorianCalendar(date);
            System.out.println("Date to XMLGregorianCalendar: " + convertedCalendar);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public static Date convertXMLGregorianCalendarToDate(XMLGregorianCalendar xmlCalendar) {
        return xmlCalendar.toGregorianCalendar().getTime();
    }

    public static XMLGregorianCalendar convertDateToXMLGregorianCalendar(Date date) throws Exception {
        GregorianCalendar calendar = new GregorianCalendar();
        calendar.setTime(date);
        return DatatypeFactory.newInstance().newXMLGregorianCalendar(calendar);
    }
}

In this example, we create an XMLGregorianCalendar object representing the date May 25, 2023. We then convert it to a Date object using the convertXMLGregorianCalendarToDate method and print the result. 

Next, we convert the Date object back to an XMLGregorianCalendar using the convertDateToXMLGregorianCalendar method and print the result. 

Note: The convertDateToXMLGregorianCalendar method throws an exception of type Exception. In a real application, you should handle or propagate this exception as appropriate.