使用JSTL将较长的时间戳格式化为日期
时间:2020-03-05 18:56:47 来源:igfitidea点击:
我正在从数据库中提取一个很长的时间戳,但是希望仅使用标签将其显示为Date,而JSP中没有嵌入式Java。
我创建了自己的标签来执行此操作,因为无法使parseDate和formatDate标签起作用,但这并不是说它们不起作用。
有什么建议吗?
谢谢。
解决方案
回答
parseDate和formatDate标记可以使用,但它们可以与Date对象一起使用。
我们可以调用new 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"/>
回答
通过使用jsp:useBean
和jsp: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"/>