ssm日期格式转换

ssm日期格式转换

1      需求

前端传入字符串类型日期转化成java中的Date类型,存入数据库中;将数据库中的日期类型通过jstl标签在前端页面转换成字符串类型。

2      步骤

2.1    创建一个日期转换类实现Converter接口,将String类型的日期转换成java中的Date类型,如果数据库中的字段设置为date,则SimpleDateFormat中设置格式为(yyyy-MM-dd),如果为datetime,则SimpleDateFormat中设置格式为(yyyy-MM-dd HH:mm:ss)。

public class CustomDateConverter implements Converter<String, Date>{
   @Override
   public Date convert(String source) {
      // 将日期串转换成日期格式(格式是yyyy-MM-dd)
      SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
      try {
         //返回上述格式的Date类型对象
         return simpleDateFormat.parse(source);
      } catch (ParseException e) {
         // TODO Auto-generated catch block
         e.printStackTrace();
      }
      return null;
   }
}

2.2    将自定义的转换类在springmvc中配置,并且在mvc:annotation-driven添加conversion-service属性,值为conversionService。

<!-- 自定义参数绑定 -->
   <bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
      <!-- 转换器 -->
      <property name="converters">
      <!-- 日期类型的转换 -->
         <bean class="cn.haohan.ssm.converter.CustomDateConverter"></bean>
      </property>
   </bean>
 
<mvc:annotation-driven conversion-service="conversionService">
   </mvc:annotation-driven>

2.3    Jsp页面顶部添加fmt标签

<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>

2.4    Jsp页面中显示日期的位置,将从数据库读取到的日期类型的数据转换成字符串类型的数据

<td><input type="text" name="createtime" value="<fmt:formatDate value="${items.createtime }" pattern="yyyy-MM-dd HH:mm:ss"/>"/></td>

或者:

<td><fmt:formatDate value="${custom.birthday }" pattern="yyyy-MM-dd"/></td>
原文地址:https://www.cnblogs.com/peter_zhang/p/ssm_converter.html