如何使用JSTL将格式日期用作"yyyy-MM-dd"?

naz*_*art 13 java jsp jstl date

我想从DB获取日期并在jsp上显示:

2014年4月2日

代替:

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>
Run Code Online (Sandbox Code Playgroud)

在页面上看:

视图

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

小智 24

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

<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
Run Code Online (Sandbox Code Playgroud)

现在您可以使用<fmt:formatDate><fmt:parseDate>格式化日期.

<fmt:formatDate value="${now}" pattern="yy-MMM-dd"/>
Run Code Online (Sandbox Code Playgroud)

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>
Run Code Online (Sandbox Code Playgroud)


Sim*_*ult 11

value用于fmt:formatDate被假设是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"/>
Run Code Online (Sandbox Code Playgroud)