【发布时间】:2016-12-14 07:38:10
【问题描述】:
在下面截断属性$F 属于java.time.LocalDateTime 或java.time.LocalDate 类。
<textField pattern="EE. dd.MM.yyyy">
<reportElement...>
</reportElement>
<textFieldExpression><![CDATA[$F{theLocalDateTime}]]></textFieldExpression>
</textField>
如何在 jasper 报告中使用 textField pattern 格式化此属性?
【问题讨论】:
-
使用像这里显示的常规格式化程序stackoverflow.com/a/15817417/1743880,但是对于 Java 8?应该是
DateTimeFormatter.ofPattern(myPattern).format($F{thedatetime})。 -
@Tunaki 在这种情况下,用户喜欢使用在导出为不同格式时也更可取的模式(因此在 excel 等中格式正确),模式可以用于 java.util.Date 对象,因此解决方案是将字段转换为此类(或子类)并等待 jasper-reports 更新其库以支持使用 LocalDateTime 类的模式进行格式化
-
您不想要
LocalDateTime。java.sql.Timestamp类已替换为java.time.Instant或OffsetDateTime(其偏移量设置为 UTC)。请参阅此问题,What's the difference between Instant and LocalDateTime?。
标签: java jasper-reports java-time