如何在JSTL中格式化日期

Joh*_*nak 10 datetime jstl formatdatetime

我有一个循环,遍历我们网站上的所有新闻.其中一个字段是date ${newsitem.value['Date']},以毫秒为单位.我想在网页上以月/日/年格式显示此日期.我认为JSTL格式标签<fmt:formatDate>会有所帮助,但我还没有成功.你知道怎么做吗?

<cms:contentaccess var="newsitem" />
<h2><c:out value="${newsitem.value['Title']}" /></h2>
// display date here        
<c:out value="${newsitem.value['Text']}"  escapeXml="false" />
Run Code Online (Sandbox Code Playgroud)

Ben*_*enM 36

是的,JSTL formatDate标记应该与将Timestamp值更改为日期对象(解决注释中提到的异常所需)相结合.

确保您已fmt在JSP声明中正确定义了前缀

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

渲染输出,首先将时间戳转换为日期值.我yyyy-MM-dd用作格式模式,dateFormat标签也支持其他格式化选项.

<cms:contentaccess var="newsitem" />
<jsp:useBean id="newsDate" class="java.util.Date" />
<jsp:setProperty name="newsDate" property="time" value="${newsitem.value['Date']}" />
<h2><c:out value="${newsitem.value['Title']}" /></h2>
<fmt:formatDate pattern="yyyy-MM-dd" value="${newsDate}" />
<c:out value="${newsitem.value['Text']}" escapeXml="false" />
Run Code Online (Sandbox Code Playgroud)