如何格式化LocalDateTime以在JSP视图中显示它

时间:2016-08-07 12:14:26

标签: spring jsp jstl

我将在JSP视图中格式化LocalDateTime值。我正在使用Spring和Java 8.现在我的视图显示LocalDateTime值:“2016-08-05T22:19:05.034”但我想以这样的格式打印日期“2016-08-05 22:19:05”或“2016-08-05”。

我做了一些研究,我看到了这个 <%@ taglib prefix =“fmt”uri =“http://java.sun.com/jsp/jstl/fmt”%> 仅适用于旧日期类型而不适用于LocalDateTime。所以我决定在Date中转换LocalDateTime,但此时它不会显示任何内容。

<p>
<strong>Time on end:</strong> ${auction.endTime}  // too much details displayed
<c:set var="timeEnds" value="${Date.from(auction.startTime.atZone(ZoneId.systemDefault()).toInstant())}" />
<fmt:formatDate value="${timeEnds}" pattern="yyyy-MM-dd"/>
</p>

那么我做错了什么?我如何以最简单的方式解决这个问题?

1 个答案:

答案 0 :(得分:4)

我的替代方法是,在其类中创建第二个getter方法,该方法返回格式化日期,如下所示:

public String getFormattedDate(){
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd 
HH:mm:ss");
        return getOriginalDate().format(formatter);
}