【问题标题】:How to use format date as "yyyy-MM-dd" with JSTL? [duplicate]如何使用 JSTL 格式日期为“yyyy-MM-dd”? [复制]
【发布时间】:2014-05-14 11:42:57
【问题描述】:

我想从数据库中获取日期并显示在 jsp 上:

2014-04-02

代替:

2014-04-02 00:00:00.0

在 jsp 上我尝试使用 c:fmt 标签来格式化日期:

   <div class="form-group">
      <span><fmt:message key="task.start"/></span>
      <input class="form-control" id="firstDate" placeholder="<fmt:message key="task.start"/>" 
           name="start_date-${task.taskId}"
         <fmt:formatDate value="${task.startDate}" var="startFormat" type="date" pattern="yyyy-MM-dd"/>
        value="${startFormat}"/>
   </div>

查看页面:

如何将其格式化为yyyy-MM-dd格式?

【问题讨论】:

标签: java jsp date jstl


【解决方案1】:

首先你需要将下面的行添加到你的jsp文件的头部

<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>

现在您可以使用&lt;fmt:formatDate&gt;&lt;fmt:parseDate&gt; 来格式化日期。

<fmt:formatDate value="${now}" pattern="yy-MMM-dd"/>

PS:在你的代码中,我看到你的 jsp 标签有一些错误。我觉得应该是

    <div class="form-group">
      <span><fmt:message key="task.start"/></span>
      <input class="form-control" id="firstDate" placeholder="<fmt:message key='task.start'/>" 
           name="start_date-${task.taskId}" value="<fmt:formatDate value='${task.startDate}' var='startFormat' type='date' pattern='yyyy-MM-dd'/>"
   </div>

【讨论】:

    【解决方案2】:

    fmt:formatDatevalue 应该是一个 Date 对象 (java.util.Date)。如果task.startDate是一个日期作为一个字符串,那么你需要预先转换它。

    <fmt:parseDate value="${task.startDate}" pattern="yyyy-MM-dd HH:mm:ss" var="myDate"/>
    <fmt:formatDate value="${myDate}" var="startFormat" pattern="yyyy-MM-dd"/>
    

    【讨论】:

    • 它是java.util.Date
    猜你喜欢
    • 1970-01-01
    • 2011-03-05
    • 1970-01-01
    • 2016-01-02
    • 1970-01-01
    • 2013-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多