ConvertUtils.register注册Date转XMLGregorianCalendar的转换器
来源:互联网 发布:中建七局华北公司知乎 编辑:程序博客网 时间:2024/06/05 00:45
最近遇到BeanUtils.copyProperties(),把Date类型数据copy到XMLGregorianCalendar类型的字段上,以下是我写的转换器,把这个注册到ConvertUtils就可以使用了
import org.apache.commons.beanutils.*;
import org.slf4j.Logger;import org.slf4j.LoggerFactory;
import java.util.Calendar;
import java.util.Date;
import javax.xml.datatype.DatatypeFactory;
import javax.xml.datatype.XMLGregorianCalendar;
public class XMLGregorianCalendarConverter implements Converter {
private Logger logger = LoggerFactory.getLogger(this.getClass());
public Object convert(Class arg0, Object arg1) {
if(arg1 instanceof XMLGregorianCalendar){
return this.convert(arg0, (XMLGregorianCalendar)arg1);
}else{
return this.convert(arg0, (Date)arg1);
}
}
public Calendar convert(Class calendarType, XMLGregorianCalendar xmlCalendar){
return xmlCalendar.toGregorianCalendar();
}
public XMLGregorianCalendar convert(Class<?> xmlCalendarType, Date date){
if(date == null) {
return null;
}
Calendar cal = Calendar.getInstance();
cal.setTime(date);
XMLGregorianCalendar dateType = null;
try {
DatatypeFactory dtf = DatatypeFactory.newInstance();
dateType = dtf.newXMLGregorianCalendar();
dateType.setYear(cal.get(Calendar.YEAR));
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));
} catch (Exception e) {
e.printStackTrace();
}
return dateType;
}
}
只要在BeanUtils.copyProperties(实体, 实体)前
加上ConvertUtils.register(new XMLGregorianCalendarConverter(), XMLGregorianCalendar.class);就可以了。
0 0
- ConvertUtils.register注册Date转XMLGregorianCalendar的转换器
- ConvertUtils.register注册转换器
- ConvertUtils.register注册转换器
- ConvertUtils.register注册转换器
- ConvertUtils.register注册转换器
- ConvertUtils.register注册转换器
- ConvertUtils.register注册转换器
- ConvertUtils.register的作用!
- ConvertUtils.register的作用
- ConvertUtils.register的作用!
- ConvertUtils转换器的使用
- ConvertUtils.register
- XMLGregorianCalendar和Date的转换
- ConvertUtils.register(new DateLocaleConverter(), Date.class) 异常之原因一
- ConvertUtils.register(new DateConverter(null), java.util.Date.class)使用
- XMLGregorianCalendar与Date的类型相互转换
- XMLGregorianCalendar和Date之间的转换
- XMLGregorianCalendar和Date之间的转换
- Oracle00-918:未明确定义列的错误
- HDOJ 4081 Qin Shi Huang's National Road System
- 安装和使用memcached
- (一):T-SQL语言分类、基本数据类型、定义变量及赋值
- 将白色背景图片变透明
- ConvertUtils.register注册Date转XMLGregorianCalendar的转换器
- 配置hadoop集群时,ssh无密码登陆设置(各个主机的用户名需要一样)
- Justep X5深度体验及点评(转载)
- 网站会记录并储存用户的搜索内容
- Jquery 浏览器页面窗口刷新或关闭时,执行后台方法(兼容各主流浏览器)
- oracle单行函数
- 基础冒泡排序
- Path Sum I、II
- SVN服务器搭建和使用(三)