首页 > 技术文章 > jstl标签的fmt:formatDate格式化日期 String to Date

tanzq 2018-04-06 12:42 原文

之前我的一篇博客中:

SpringMVC日期类型转换问题三大处理方法

写到过如何将后台日期类型转换在前台显示,今天我在用其中的第四种方法

<fmt:formatDate value="&{diary.releaseDate}" type="date" pattern="yyyy-MM-dd"/>

却出现:Unable to convert string "&{diary.releaseDate}" to class "java.util.Date" for attribute "value": Property Editor not registered with the PropertyEditorManager异常

原因在于虽然实体diary中releaseDate是设置为Date类型,但&{diary.releaseDate}取出来是String类型,无法转换为Date类型

如下将能正常输出

<fmt:formatDate value="<%=new java.util.Date() %>" pattern="yyyy-MM-dd"/>

解决办法是,可先将String解析为Date 然后再格式化Date

<fmt:parseDate value="${entity.ctime}" var="date" pattern="yyyyMMddHHmm"/>

<fmt:formatDate value="${date}" pattern="yyyy-MM-dd HH:mm" />

推荐阅读