使用fmt:formatDate格式化日期

edd*_*ddy 4 java jstl

我尝试使用fmt:formatDate格式化日期.

 <c:forEach items="${list}" var="item">
     <tr>
       <!--some other columns-->
       <td align="left">
          <fmt:parseDate value="${item.date}" type="both" var="date"/>
          <fmt:formatDate value="${date}" type="both" pattern="dd/MM/yyyy H:m"/>
       </td> 
       <!--some other columns-->
      </tr>
  </c:forEach>
Run Code Online (Sandbox Code Playgroud)

但我得到这个例外:

java.text.ParseException:无法解析的日期:"2010-12-12 16:00:00"

我想要的只是以这种方式显示var 日期:12/12/2010 16:00.我怎样才能做到这一点?

提前致谢.

Bal*_*usC 10

您需要指定解析模式.

<fmt:parseDate value="${item.date}" pattern="yyyy-MM-dd HH:mm:ss" var="date"/>
<fmt:formatDate value="${date}" pattern="dd/MM/yyyy HH:mm" />
Run Code Online (Sandbox Code Playgroud)

然而,通常的做法是将日期存储为java.util.Date,而不是java.lang.String.然后你可以这样做:

<fmt:formatDate value="${item.date}" pattern="dd/MM/yyyy HH:mm" />
Run Code Online (Sandbox Code Playgroud)

尽可能使用正确的值类型.它将变得更容易处理.