ssm日期格式转换

时间:2024-04-02 11:04:50

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>