jstl format 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类型-->