我有一个本地日期时间属性:
private LocalDatetime date;
我想用这种格式显示dd-MM-yyyy HH:mm:ss
:
<h:outputText value="#{transaction.date}">
<f:convertDateTime pattern="dd-MM-yyyy HH:mm:ss"/>
</h:outputText>
但是我得到了这个例外:
. lang。
不能将给定对象格式化为日期
这是如何引起的,我该如何解决?
<f:convertDateTime>
目前仍然默认为java.util.Date
作为预期的日期类型,并且目前(尚未?)无法自动检测日期类型。它将在掩护下不正确地继续使用java.text.SimpleDateFormat
而不是java.time.format.DateTimeFormatter
来格式化LocalDateTime
。这个特定的异常来自SimpleDateFormat
。
如果实际日期值不是java.util.Date
,则需要显式地将<f:convertDateTime>
标记的type
属性设置为所需的日期类型。您可以在标签文档中找到支持的类型列表:
type
false
javax.el.ValueExpression
(必须将求值为
java.lang.String
)java.time
中的Java SE 8 Date Time API类,其名称由首字母大写派生。例如,输入"java.time.LocalDate
"表示值"localdate"。默认值为"date"