BeanUtils进行日期格式的拷贝转换

自定义Converter的方法:

import java.text.ParseException;
import java.text.SimpleDateFormat;
import org.apache.commons.beanutils.Converter;
 
 
publicclass CustomerDateConverter implements Converter {
    private final static SimpleDateFormat DATE_FORMATE_SHOW = new SimpleDateFormat("yyyyMMddHHmmss");//根据传来的时间字符串格式:例如:20130224201210
    public Object convert(Class type, Object value){
       // TODO Auto-generated method stub
       if (type.equals(java.util.Date.class) ) {
              try {
                  return DATE_FORMATE_SHOW.parse(value.toString());
              } catch (ParseException e) {
                  // TODO Auto-generated catch block
                  e.printStackTrace();
              }
       }
       return null;
    }
}

  测试代码:

Address1 addr1=new Address1(); //Address1中的date是String
Address2 addr2=new Address2(); //Address1中的date是java.util.Date
Addr1.setDate("20130224201210");
//进行日期格式转换
 CustomerDateConverter dateConverter = new CustomerDateConverter (); 
 ConvertUtils.register(dateConverter,Date.class);
//上面两句是关键!
BeanUtils.copyProperties(addr2, addr1);//进行复制 

  

posted @ 2017-07-27 10:59  748573200000  阅读(1677)  评论(0编辑  收藏  举报