【问题标题】:Formatting date with fmt:formatDate使用 fmt:formatDate 格式化日期
【发布时间】:2010-12-12 23:02:16
【问题描述】:

我尝试使用 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 date:12/12/2010 16:00。我怎样才能做到这一点?

提前致谢。

【问题讨论】:

    标签: java jstl


    【解决方案1】:

    您需要指定解析模式。

    <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" />
    

    尽可能为值使用正确的类型。它会变得更容易处理。

    【讨论】:

    • 谢谢,我一直在苦苦挣扎,因为日期存储为字符串。
    猜你喜欢
    • 2010-09-21
    • 1970-01-01
    • 2021-03-15
    • 2013-04-06
    • 2012-05-05
    • 2015-09-29
    • 2018-05-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多