XMLGregorianCalendar和Date之间的转换

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原创,转载请注明出处!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值