Как использовать формат даты как "гггг-ММ-ДД" с JSTL? [дубликат]
этот вопрос уже есть ответ здесь:
Я хочу взять дату из БД и отобразить на 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>
глядя на страницу:
Как отформатировать его в гггг-ММ-ДД?
2 ответов
сначала вам нужно добавить строку ниже в заголовок вашего файла jsp
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
теперь вы можете использовать <fmt:formatDate>
и <fmt:parseDate>
для форматирования даты.
<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>
на 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"/>