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>