1.将Date类转换为XMLGregorianCalendar
/**
* 将Date类转换为XMLGregorianCalendar
*
* @param date
* @return
*/
public static XMLGregorianCalendar dateToXmlDate(Date date) {
Calendar cal = Calendar.getInstance();
cal.setTime(date);
DatatypeFactory dtf = null;
try {
dtf = DatatypeFactory.newInstance();
} catch (DatatypeConfigurationException e) {
}
XMLGregorianCalendar dateType = dtf.newXMLGregorianCalendar();
dateType.setYear(cal.get(Calendar.YEAR));
// 由于Calendar.MONTH取值范围为0~11,需要加1
dateType.setMonth(cal.get(Calendar.MONTH) + 1);
dateType.setDay(cal.get(Calendar.DAY_OF_MONTH));
dateType.setHour(cal.get(Calendar.HOUR_OF_DAY));
dateType.setMinute(cal.get(Calendar.MINUTE));
dateType.setSecond(cal.get(Calendar.SECOND));
return dateType;
}
2.将XMLGregorianCalendar类转换为Date
/**
* 将XMLGregorianCalendar类转换为Date
* @param xgc
* @return
*/
private Date xmlDateToDate(XMLGregorianCalendar xgc) {
int year = xgc.getYear();
int month = xgc.getMonth();
int day = xgc.getDay();
int hour = xgc.getHour();
int minute = xgc.getMinute();
int second = xgc.getSecond();
Calendar calendar = Calendar.getInstance();
calendar.set(year, month, day, hour, minute, second);
Date date = calendar.getTime();
return date;
}
或者
public static Date xmlDate2Date(XMLGregorianCalendar xgc){
return xgc.toGregorianCalendar().getTime();
}
3.获取截止日期(以月为例)
/**
* 取截止时间
* @param months
* @return
*/
private Date ExpirationDate(int months) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(new Date());
calendar.add(Calendar.MONTH, months);
return calendar.getTime();
}
本文yaohucaizi原创,转载请注明出处!