Tin*_*iny 1 jsp hibernate jstl jodatime
我正在使用joda-time-jsptags-1.1.1使用以下 taglib格式化和解析JSP 页面上基于Joda-Time的日期和时间对象。
<%@taglib prefix="joda" uri="http://www.joda.org/joda/time/tags" %>
Run Code Online (Sandbox Code Playgroud)
我在 Oracle 数据库中有使用标准 UTC 格式存储的日期。
使用以下 JSTL 标记,
<c:set var="startDate" value="${row.discountStartDate}"/>
<c:set var="endDate" value="${row.discountEndDate}"/>
Run Code Online (Sandbox Code Playgroud)
这两个日期分别以下列格式显示。
2013-02-16T22:31:59.000+05:30
2013-02-28T22:32:03.000+05:30
Run Code Online (Sandbox Code Playgroud)
我需要使用特定时区以特定格式显示这些日期。我正在尝试按如下方式解析这些日期。
<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"/>
Run Code Online (Sandbox Code Playgroud)
我希望以给定的格式和区域解析这些日期。但是,我收到以下异常。
java.lang.IllegalArgumentException:格式无效:“2013-02-16T22:31:59.000+05:30”在“13-02-16T22:31:59.000+05:30”处格式错误
如何解析这些日期
经由休眠返回的日期row.discountStartDate,并row.discountEndDate在这个例子中是明显的类型org.joda.time.DateTime。
这些属性org.jadira.usertype.dateandtime.joda.PersistentDateTime在各自的实体类中被指定,例如,
@Column(name = "DISCOUNT_START_DATE")
@Type(type="org.jadira.usertype.dateandtime.joda.PersistentDateTime")
private DateTime discountStartDate;
@Column(name = "DISCOUNT_END_DATE")
@Type(type="org.jadira.usertype.dateandtime.joda.PersistentDateTime")
private DateTime discountEndDate;
Run Code Online (Sandbox Code Playgroud)
因此,无需再次解析这些日期。我只需要使用给定的格式和时区来格式化这些日期,就像下面这样。
<joda:format var="startDate"
value="${row.discountStartDate}"
pattern="dd-MMM-yyyy HH:mm:ss"
style="F-"
dateTimeZone="Asia/Kolkata"/>
<joda:format var="endDate"
value="${row.discountEndDate}"
pattern="dd-MMM-yyyy HH:mm:ss"
style="F-"
dateTimeZone="Asia/Kolkata"/>
Run Code Online (Sandbox Code Playgroud)
格式标签的值属性必须是 typeReadableInstant或ReadablePartial
该style属性是用于解析的样式。它指定了两个字符,一个表示日期,一个表示时间。
S = Short
M = Medium
L = Long
F = Full
- = None
Run Code Online (Sandbox Code Playgroud)
http://joda-time.sourceforge.net/contrib/jsptags/userguide.html