代码之家  ›  专栏  ›  技术社区  ›  scubabbl

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

  •  18
  • scubabbl  · 技术社区  · 17 年前

    我正在从数据库中提取一个长时间戳,但只想使用标签将其表示为日期,而不想在JSP中嵌入java。

    我创建了自己的标签来实现这一点,因为我无法使parseDate和formatDate标签工作,但这并不是说它们不起作用。

    有什么建议吗?

    谢谢。

    2 回复  |  直到 17 年前
        1
  •  51
  •   MartinL BenM    11 年前

    您可以通过在JSP中使用以下命令创建日期对象来避免对Servlet进行任何更改 jsp:useBean jsp:setProperty 标签,用于将新创建的日期对象的时间设置为时间戳的时间。例如:

    <%@ 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"/>
    
        2
  •  8
  •   JoshDM    12 年前

    parseDate和formatDate标签可以工作,但它们适用于Date对象。 您可以调用new java.util。Date(长值)获取日期对象,然后将其传递给标准标记。

    在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"/>