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

时间:2008-09-16 18:31:43

标签: java jsp jstl

我从数据库中提取了一个很长的时间戳,但是想要仅使用标签将其显示为日期,而不是JSP中的嵌入式Java。

我创建了自己的标签来执行此操作因为我无法让parseDate和formatDate标签工作,但这并不是说它们不起作用。

有什么建议吗?

感谢。

2 个答案:

答案 0 :(得分:47)

通过使用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"/>

答案 1 :(得分: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);

将其添加到请求中,然后您可以在此标记中访问它。

<fmt:formatDate value="${dateValue}" pattern="MM/dd/yyyy HH:mm"/>