f:convertDateTime with LocalDateTime 抛出"Cannot format given Object as a Date"



我有一个本地日期时间属性:

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) 指定字符串值将被格式化以包含哪些内容,或者期望解析哪些内容。有效值为">日期时间",">同时",">",">localDate",">localDateTime",">localTime",">offsetTime",">offsetDateTime"one_answers">zonedDateTime"。以"local", "offset"开头的值和";zoned"对应于包java.time中的Java SE 8 Date Time API类,其名称由首字母大写派生。例如,输入"java.time.LocalDate"表示值"localdate"。默认值为"date"

相关内容

  • 没有找到相关文章

最新更新