第一步: 编写自定义转换器的类
/* * 自定义日期转换器 */ public class CustomDateConverter implements Converter<String, Date> { private static final List<String> formarts = new ArrayList<String>(4); static{ formarts.add("yyyy-MM"); formarts.add("yyyy-MM-dd"); formarts.add("yyyy-MM-dd hh:mm"); formarts.add("yyyy-MM-dd hh:mm:ss"); } @Override public Date convert(String source) { String value = source.trim(); if ("".equals(value)) { return null; } if(source.matches("^\d{4}-\d{1,2}$")){ return parseDate(source, formarts.get(0)); }else if(source.matches("^\d{4}-\d{1,2}-\d{1,2}$")){ return parseDate(source, formarts.get(1)); }else if(source.matches("^\d{4}-\d{1,2}-\d{1,2} {1}\d{1,2}:\d{1,2}$")){ return parseDate(source, formarts.get(2)); }else if(source.matches("^\d{4}-\d{1,2}-\d{1,2} {1}\d{1,2}:\d{1,2}:\d{1,2}$")){ return parseDate(source, formarts.get(3)); }else { throw new IllegalArgumentException("Invalid boolean value '" + source + "'"); } } /* * 功能描述:格式化日期 */ public Date parseDate(String dateStr, String format) { Date date=null; try { DateFormat dateFormat = new SimpleDateFormat(format); date = (Date) dateFormat.parse(dateStr); } catch (Exception e) { } return date; } }
第二步: 在springmvc中的配置文件在配置
第三步:测试
username = 小明
birthday = Wed Apr 22 18:22:33 GMT+08:00 1992