SpringMvc实现日期转换

方法一:

  1,自定义日期转换器

  

public class DataConvert implements Converter<String, Date> {

	  /***
     * 配置时间转换类
     * @param date
     * @return
     */
	@Override
	public Date convert(String date) {
		try {
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
			return sdf.parse(date);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return null;
	}

}

  2.配置自定义类型转换器

  

   <!--注解驱动-->
   <mvc:annotation-driven conversion-service="format"/>
   
	<!-- 配置转换器 -->
	<bean id="format" class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
		<property name="converters">
			<set>
				<bean class="com.itheima.user.controller.DataConvert"></bean>
			</set>
		</property>
	</bean>

  3,在实体Bean上添加@DateTimeFormat,同时记得添加时间格式

  

@DateTimeFormat(pattern="yyyy-MM-dd")
	private Date date;

  4,不要忘记了添加注解驱动

<mvc:annotation-driven conversion-service="format"/>

  方式二,

  @InitBinder进行时间转换

  创建一个BaseController,在里面创建一个方法,加上@InitBinder注解,对入参为yyyy-MM-dd HH:mm:ss格式的数据进行格式化,将他们转成时间类型。

  

public class BaseController {

	@InitBinder
	protected void initBinder(WebDataBinder  binder){
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
		sdf.setLenient(false);
		binder.registerCustomEditor(Date.class, new CustomDateEditor(sdf, false));
	}
}

@DateTimeFormat(pattern="yyyy-MM-dd")
	private Date date;

  

posted @ 2018-01-26 16:45  Dear丶配角  阅读(629)  评论(0编辑  收藏  举报