SimpleDateFormatter.java

package com.tradecloud.domain.common;

import javax.xml.datatype.DatatypeConfigurationException;
import javax.xml.datatype.DatatypeFactory;
import javax.xml.datatype.XMLGregorianCalendar;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.concurrent.TimeUnit;

public class SimpleDateFormatter {

    public static XMLGregorianCalendar convertDateFormat(XMLGregorianCalendar date) {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        String result = sdf.format(date.toGregorianCalendar().getTime());

        try {
            Date parsedDate = sdf.parse(result);
            XMLGregorianCalendar newDate = convertDate(parsedDate);
            return newDate;
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return null;
    }

    public static long dateDiff(Date date1, Date date2) {
        long diff = date2.getTime() - date1.getTime();
        long convert = TimeUnit.DAYS.convert(diff, TimeUnit.MILLISECONDS);
        return convert;
    }

    public static String convertDateToStringFormat(XMLGregorianCalendar date) {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        String result = sdf.format(date.toGregorianCalendar().getTime());
        return result;
    }

   /* private static XMLGregorianCalendar convertDate(Date date) {
        GregorianCalendar cal = new GregorianCalendar();

        cal.setTime(date != null ? date : cal.getTime());
        try {
            XMLGregorianCalendar xCal = DatatypeFactory.newInstance().newXMLGregorianCalendar(cal);
            return xCal.normalize();
        } catch (DatatypeConfigurationException e) {
            e.printStackTrace();
            return null;
        }
    }*/

    public static XMLGregorianCalendar convertDate(Date date) {
        GregorianCalendar cal = new GregorianCalendar();


        cal.setTime(date != null ? date : cal.getTime());
        try {
            XMLGregorianCalendar xCal = DatatypeFactory.newInstance().newXMLGregorianCalendar(cal);
            return xCal;
        } catch (DatatypeConfigurationException e) {
            e.printStackTrace();
            return null;
        }
    }
}