我需要解析此String以将其转换为Date:
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 <parseDate>,
value attribute can not be parsed: "Tue, 3 Sep 2013 19:04:18 +0200"
这有什么问题?
答案 0 :(得分:0)
<fmt:parseDate>
将尝试根据区域设置解析日期。您可以通过<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)
答案 1 :(得分:0)
我遇到了同样的问题,我在type
和pattern
中使用相同的fmt:format
或fmt: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"/>
或者您可以尝试将类型设为
both
或time
或date
。
<f:formatDate value="${date }" type="both" var="fmt_date"/>
<f:parseDate value="${fmt_date }" type="both" var="parse_date"/>
希望它有所帮助。!