2010-12-12 38 views
4

我想使用fmt:formatDate格式化日期。使用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> 

,但我得到这个异常:

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

所有我想要的是展示VAR 日期这样:12/12/2010 16:00。我怎样才能做到这一点?

在此先感谢。

回答

9

您需要指定解析模式。

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

通常的做法,但是,存储日期为java.util.Date,而不是java.lang.String。那么你可以这样做:

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

尽量使用正确的值类型。这将变得更容易处理它。

+0

非常感谢! – eddy 2010-12-13 10:36:44

+0

不客气。 – BalusC 2010-12-13 12:44:58

+0

谢谢,我挣扎了很多,因为日期被存储为字符串。 – 2015-10-31 20:03:18