0

我需要解析这个字符串才能将其转换为日期:

Tue, 3 Sep 2013 19:47:52 +0200

我在用着

<fmt:parseDate var="parsedDate" value="${pubDate}" type="both"/>

但结果是:

org.apache.jasper.JasperException: javax.servlet.ServletException:
javax.servlet.jsp.JspException: In &lt;parseDate&gt;,
value attribute can not be parsed: "Tue, 3 Sep 2013 19:04:18 +0200"

这有什么问题?

4

2 回答 2

0

<fmt:parseDate>将尝试根据locale解析日期。您可以通过以下方式查看这可能是什么<fmt:formatDate>

<jsp:useBean id="now" class="java.util.Date"/>
<fmt:formatDate value="${now}" type="both"/>

我建议使用显式模式:

<fmt:parseDate var="parsedDate" value="${pubDate}" 
    pattern="EEE, dd MMM yyyy HH:mm:ss Z"/>

(模式字母来自SimpleDateFormat

于 2013-09-04T00:11:39.037 回答
0

我遇到了同样的问题,我找到了一种解决方法,方法是在和中使用相同的typeorpattern属性。fmt:formatfmt:parse

例如假设我们有一个当前日期对象
<% pageContext.setAttribute("date", new Date()); %>

  • <f:formatDate value="${date }" pattern="dd-mm-yyyy" var="fmt_date"/>
  • <f:parseDate value="${fmt_date }" pattern="dd-mm-yyyy" var="parse_date"/>

或者您可以尝试使用 type as bothor timeor date

  • <f:formatDate value="${date }" type="both" var="fmt_date"/>
  • <f:parseDate value="${fmt_date }" type="both" var="parse_date"/>

希望能帮助到你。!

于 2015-04-22T14:23:59.147 回答