jstl fmt:formatDate格式化日期 年月 String to Date

使用fmt函数需在jsp中引入 
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>


<fmt:formatDate value="${item.expDate}" pattern="yyyy-MM-dd"/>
报java.lang.IllegalArgumentException: Cannot convert 20131125 of type class java.lang.String to class java.util.Date 
异常    因为${item.expDate}取出来是String类型,无法转换为Date类型 
如下将能正常输出 
<fmt:formatDate value="<%=new Date() %>" pattern="yyyy-MM-dd"/>


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


<fmt:parseDate value="${item.expDate}" var="yearMonth" pattern="yyyy-MM-dd"/>


<fmt:formatDate value="${yearMonth}" pattern="yyyy-MM" /> <!-- 这里的value只能是date类型-->

版权声明:本文为jihuanliang原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。