我的模型中有一个字符串2008-09-18 00:00:00.0
,我希望以以下格式在我的JSP页面上显示它:Sep 18 2008
我试试这个:
<fmt:parseDate value="${myObj.myDate}" type="date" pattern="yyyy-MM-dd hh:mm:ss.s" var="formatedDate"/>
<fmt:formatDate value="${formatedDate}" type="date" pattern="MMM dd yyyy"/>
但我反复得到错误:
java.text.ParseException: Unparseable date: "2008-09-18 00:00:00.0"
我已经尝试了一系列不同组合的模式:
yyyy-MM-dd hh:mm:ss.s
yyyy-MM-dd hh:mm:ss.S
yyyy-MM-dd hh:mm:ss
YYYY-MM-DD
YYYY-MM-DD
每次都有相同的结果。
但我不明白该模式是不可解析的,并且错误消息不太具描述性。
有什么想法吗?
答案 0 :(得分:1)
在parseDate
代码中进行以下两项更改。
type
更改为&#39; date&#39; &#39;两个&#39;您的输入日期包含日期和时间。timeStyle
,其值为“完整”字样。或者&#39; long&#39;或者&#39; medium&#39;。答案 1 :(得分:0)
您是否尝试“拆分”您要解析的日期?
我试图做类似的事情,但是将 LocalDate和LocalDateTime 转换为 jsp视图 。
<fmt:parseDate value="${date.year}-${date.monthValue}-${date.dayOfMonth} ${date.hour}:${date.minute}:${date.second}" pattern="yyyy-MM-dd HH:mm:ss" var="parsedDate" type="both" timeStyle="long"/>
这对我特别有用,因为LocalDate类型甚至在前一天也显示 dayOfMonth (例如:如果实际日为05,则显示04)。
<fmt:parseDate value="${date.year}-${date.monthValue}-${date.dayOfMonth + 1}" pattern="yyyy-MM-dd" var="parsedDate" type="date"/>