我不确定为什么以下代码有效:
str
是2011-11-04 15:54:48.38
格式的日期。这是一个字符串。
执行以下代码时:
<fmt:parseDate var="xxx" type="date" pattern="y-M-d H:m:s" value="${str}" />
xxx: <c:out value="${xxx}"></c:out><br />
xxx.time: <c:out value="${xxx.time}"></c:out><br />
str.time: <c:out value="${str.time}"></c:out><br />
str: <c:out value="${str}"></c:out><br />
我得到了这个输出
xxx: Fri Nov 04 15:54:48 GMT 2011
xxx.time: 1320422088038
str.time: 1320422088380
str: 2011-11-04 15:54:48.38
怎么可能?是否有str.time
值的自动转换?这些转换如何运作?
答案 0 :(得分:0)
您正在获取该输出,因为Date对象的“getTime()”返回自Date对象表示的1970年1月1日00:00:00 GMT以来的毫秒数。
修改强>
使用:http://www.epochconverter.com/
然后输入秒数输出,你会看到它对应于你的日期。
答案 1 :(得分:0)
我认为你没有运行你认为正在运行的代码。这个肯定会在PropertyNotFoundException
上抛出${str.time}
。要对它进行naildown,请添加以下行以找出${str}
实际的内容。
<c:out value="${str.class.name}" />
它显然是一个在toString()
上打印给定字符串格式并且有getTime()
方法的类。