使用JSTL将长时间戳格式化为日期

scu*_*bbl 18 java jsp jstl

我从数据库中提取了一个很长的时间戳,但是想要只使用标签将它呈现为Date,而在JSP中没有嵌入的java.

我已经创建了自己的标记来执行此操作,因为我无法使parseDate和formatDate标记生效,但这并不是说它们不起作用.

有什么建议?

谢谢.

Ben*_*enM 48

通过使用jsp:useBeanjsp:setProperty标记在JSP中创建日期对象,可以避免必须对Servlet进行任何更改,以将新创建​​的日期对象的时间设置为时间戳的时间.例如:

<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<jsp:useBean id="dateValue" class="java.util.Date"/>
<jsp:setProperty name="dateValue" property="time" value="${timestampValue}"/>
<fmt:formatDate value="${dateValue}" pattern="MM/dd/yyyy HH:mm"/>
Run Code Online (Sandbox Code Playgroud)

  • Answertheft!http://stackoverflow.com/questions/2620676/jstl-format-date;) (9认同)

ScA*_*er2 8

parseDate和formatDate标记有效,但它们与Date对象一起使用.您可以调用新的java.util.Date(longvalue)来获取日期对象,然后将其传递给标准标记.

除了jsp之外的某个地方创建你的日期对象.

long longvalue = ...;//from database.
java.util.Date dateValue = new java.util.Date(longvalue);
request.setAttribute("dateValue", dateValue);
Run Code Online (Sandbox Code Playgroud)

把它放在请求上然后你可以在你的标签中访问它.

<fmt:formatDate value="${dateValue}" pattern="MM/dd/yyyy HH:mm"/>
Run Code Online (Sandbox Code Playgroud)