将yyyy-MM-dd HH:mm:ss这种格式的字符串格式绑定到日期对象
首先实现Converter
package com.gwc.utils.spring;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.core.convert.converter.Converter;
/**
* SpringMVC时间转化
* @author 程高伟
*
* @date 2016年6月24日 下午2:54:13
*/
public class MyDateConverter implements Converter<String, Date> {
private final Logger logger = LoggerFactory.getLogger(this.getClass());
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");// 小写的mm表示的是分钟
Date date = new Date();
@Override
public Date convert(String source) {
try {
date = sdf.parse(source);
} catch (ParseException e) {
logger.error("数据转换发生了异常,要转化的数据{}",source);
e.printStackTrace();
}
return date;
}
}
其次在springmvc的配置文件配置如下bean
<!-- 自定义日期转换 -->
<bean id="myDateConverter"
class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
<property name="converters">
<set>
<bean class="com.gwc.utils.spring.MyDateConverter"></bean>
</set>
</property>
</bean>
最后配置mvc annotation
<mvc:annotation-driven conversion-service="myDateConverter" />
到此,spingmvc会将前台传过来的时间格式为yyyy-MM-dd HH:mm:ss的字符串直接绑定到日期对象上。
如果想改变时间格式只需修改MyDateConverter即可