2013-09-16 93 views
0

我試圖轉換格式爲日期格式(即2013-12-14 10:00:00)的字符串對象,並將其傳遞給jsp,轉換爲另一個日期格式(即12/14/13 10:00:00 AM)在jsp上。我試過下面的代碼行試圖解析字符串「日期」(這恰好是在某一特定日期格式)和實際日期格式:在jsp中將字符串轉換爲日期格式

<fmt:parseDate value="${row.date}" type="date" pattern="yyyy-MM-dd hh:mm:ss.S" var="formatedDate"/> 
<td class="dataField"><fmt:formatDate value="${formatedDate}" type="date" pattern="MM/dd/yy hh:mm:ss a"/></td> 

但我發現了以下異常的我的控制檯:

16:14:01265 ERROR [springapp] Servlet.service()進行的servlet springapp拋出異常java.text.ParseException:無法解析日期: 「2013-12-14 10:00 :00.0「 at java.text.DateFormat.parse(DateFormat.java:337)

有沒有人有更好的想法,爲什麼這不工作?

+2

的'末.0'是不是在你的解析模式HH。 – SJuan76

+0

這是正確的:你想在'pattern'的末尾添加一個'.S'。 –

+0

編輯我的問題,有模式那裏仍然給了我相同的錯誤 – user974047

回答

2

問題在於你的時間:10:00:00.0 你也有毫秒。要解析這樣的日期,你應該改變你的模式yyyy-MM-dd hh:mm:ss.S

更多閱讀here

+0

我已更新說明,代碼仍然無法正常工作時,我有這種格式.. – user974047

+0

不能。這段代碼完美地工作:'new java.text.SimpleDateFormat(「yyyy-MM-dd hh:mm:ss.S」)。解析(「2013-12-14 10:00:00.0」)' 結果:12月14日星期六10:00:00 EET 2013 – Archer

1

我嘗試相同的代碼,這個問題是日期格式,你應該使用,而不是HH

<fmt:parseDate value="${row.date}" type="date" pattern="yyyy-MM-dd HH:mm:ss.S" var="formatedDate"/> 
<td class="dataField"><fmt:formatDate value="${formatedDate}" type="date" pattern="MM/dd/yy hh:mm:ss a"/></td> 
相關問題