私はjoda-time-jsptags-1.1.1を使用して、次のtaglibを使用してJSPページ上のJoda -Timeベースの日付と時刻オブジェクトをフォーマットおよび解析しています。
<%@taglib prefix="joda" uri="http://www.joda.org/joda/time/tags" %>
Oracleデータベースには、標準のUTC形式を使用して保存されている日付があります。
次のJSTLタグを使用して、
<c:set var="startDate" value="${row.discountStartDate}"/>
<c:set var="endDate" value="${row.discountEndDate}"/>
これら2つの日付は、それぞれ次の形式で表示されます。
2013-02-16T22:31:59.000+05:30
2013-02-28T22:32:03.000+05:30
これらの日付を特定のタイムゾーンを使用して特定の形式で表示する必要があります。これらの日付を次のように解析しようとしています。
<joda:parseDateTime var="startDate"
pattern="dd-MMM-yyyy HH:mm:ss"
value="${row.discountStartDate}"
dateTimeZone="Asia/Kolkata"/>
<joda:parseDateTime var="endDate"
pattern="dd-MMM-yyyy HH:mm:ss"
value="${row.discountStartDate}"
dateTimeZone="Asia/Kolkata"/>
これらの日付は、指定された形式とゾーンで解析されることを期待しています。ただし、次の例外が発生します。
java.lang.IllegalArgumentException:無効な形式:「2013-02-16T22:31:59.000 + 05:30」は「13-02-16T22:31:59.000 + 05:30」で不正な形式になっています
これらの日付を解析する方法