java中XMLGregorianCalendar类型和Date类型之间的相互转换

import java.text.SimpleDateFormat;

import java.util.Date;

import java.util.GregorianCalendar;

import javax.xml.datatype.DatatypeFactory;

import javax.xml.datatype.XMLGregorianCalendar;

/**

* XMLGregorianCalendar类型和Date类型之间的相互转换

* @author Xin

* 2010-06-12

*/

public class DateTest {

public XMLGregorianCalendar convertToXMLGregorianCalendar(Date date) {

GregorianCalendar cal = new GregorianCalendar();

cal.setTime(date);

XMLGregorianCalendar gc = null;

try {

gc = DatatypeFactory.newInstance().newXMLGregorianCalendar(cal);

} catch (Exception e) {

e.printStackTrace();

}

return gc;

}

public Date convertToDate(XMLGregorianCalendar cal) throws Exception{

GregorianCalendar ca = cal.toGregorianCalendar();

return ca.getTime();

}

public static void main(String[] args) {

DateTest dateTest = new DateTest();

XMLGregorianCalendar d = dateTest.convertToXMLGregorianCalendar(new Date());

System.out.println(d.getDay());

XMLGregorianCalendar cal = null;

try {

cal = DatatypeFactory.newInstance().newXMLGregorianCalendar();

cal.setMonth(06);

cal.setYear(2010);

Date date = dateTest.convertToDate(cal);

String format = "yyyy-MM-dd HH:mm:ss";

SimpleDateFormat formatter = new SimpleDateFormat(format);

System.out.println(formatter.format(date));

} catch (Exception e) {

e.printStackTrace();

}

}

}

参考:http://blog.163.com/zhaowenchao_vip/blog/static/171515144201152141214975/