当前位置: 首页 > 面试题库 >

如何使用模式格式化java.time.LocalDateTime和java.time.LocalDate?

鲁博瀚
2023-03-14
问题内容

在下面的摘录中,该属性$F属于类java.time.LocalDateTimejava.time.LocalDate

<textField pattern="EE. dd.MM.yyyy">
    <reportElement...>
    </reportElement>
    <textFieldExpression><![CDATA[$F{theLocalDateTime}]]></textFieldExpression>
</textField>

如何pattern在jasper报表中使用textField设置此属性的格式 ?


问题答案:

要在当前版本的jasper-report 中将 pattern属性 用于Date /
Time对象,您需要一个java.util.Date类或它的子类之一。

解决的办法是转换java.time.LocalDatejava.time.LocalDateTime

从java.time.LocalDate

<textField pattern="EE. dd.MM.yyyy">
    <reportElement...>
    </reportElement>
    <textFieldExpression><![CDATA[java.util.Date.from($F{theLocalDate}.atStartOfDay(java.time.ZoneId.systemDefault()).toInstant())]]></textFieldExpression>
</textField>

从java.time.LocalDateTime

<textField pattern="EE. dd.MM.yyyy">
    <reportElement...>
    </reportElement>
    <textFieldExpression><![CDATA[java.util.Date.from($F{theLocalDateTime}.atZone(java.time.ZoneId.systemDefault()).toInstant())]]></textFieldExpression>
</textField>

[转换为

java.sql.Timestamp](http://codingdict.com/questions/100061)

java.time.LocalDate

<textField pattern="EE. dd.MM.yyyy">
    <reportElement...>
    </reportElement>
    <textFieldExpression><![CDATA[java.sql.Timestamp.valueOf($F{theLocalDate}.atStartOfDay())]]></textFieldExpression>
</textField>

java.time.LocalDateTime

<textField pattern="EE. dd.MM.yyyy">
    <reportElement...>
    </reportElement>
    <textFieldExpression><![CDATA[java.sql.Timestamp.valueOf($F{theLocalDateTime})]]></textFieldExpression>
</textField>

注意:
应用模式始终是首选的解决方案,特别是在导出到excel时,因为正确的类将传递给poi(因此excel会将列识别为日期,并应用与模式相同的格式



 类似资料:
  • 问题内容: 我正在尝试使用这种格式来格式化当前时间。 输出: 有什么建议? 问题答案: 用 由于Go使用以下常量来格式化日期,请参阅此处

  • 我正在研究spring-boot和gradle,以创建一个rest服务。现在我需要将json日期格式设置为“yyyy-MM-dd”,即格式应为dateOfBirth:“16-03-2015”,但我得到的是“dateOfBirth:-751181400000”。我在我的应用程序中添加了以下代码。java类,但仍然无法获得所需的输出。 和应用程序.java: 请帮我解决这个问题。

  • 以下是在格式化模式中使用字符。 Sr.No. 类和描述 1 0 如果存在较少的数字则显示0。 2 # 显示数字省略前导零。 3 . 小数分隔符。 4 , 分组分隔符。 5 E 指数格式的尾数和指数分隔符。 6 ; 格式分隔符。 7 - 负数前缀。 8 % 在乘以100后显示数字百分比。 9 ? 在乘以1000后将数字显示为mille。 10 X 将字符标记为数字前缀/后缀。 11 ' 标记特殊字符

  • 问题内容: 我的python脚本中有一个数字,希望用作matplotlib中图形标题的一部分。是否有将浮点数转换为格式化的TeX字符串的函数? 基本上, 退货 但是我想要 或至少让matplotlib格式化浮点格式,就像格式化第二个字符串一样。我也一直使用python 2.4,因此特别喜欢在旧版本中运行的代码。 问题答案: 您可以执行以下操作: 在旧样式中:

  • 我正在尝试将存储为UTC的日期时间转换为给定时区的日期时间。据我所知,ZonedDateTime是正确的(“美国/芝加哥”比UTC晚5小时),但DateTimeForware在格式化日期时间时没有考虑偏移量。 我的挂钟时间:12:03 pm 输出: 我期望的格式化时间为:2019年8月29日下午12:03