gpt4 book ai didi

java - Jasper Reports 日期不会根据给定格式更改

转载 作者:行者123 更新时间:2023-12-01 12:46:52 28 4
gpt4 key购买 nike

我试图获取我需要的日期格式,但 iReport 中的预览始终显示相同的格式:dd/mm/yy,而导出到 xls 后,我在所有单元格中得到 dd-MMM-yy。我的 xml 看起来像

                    <jr:detailCell style="table 2_TD" height="20" rowSpan="1">
<textField pattern="MMMMM dd, yyyy">
<reportElement x="0" y="0" width="90" height="20" uuid="1a3dc360-984e-4029-af37-ffa54c84f1c3"/>
<textFieldExpression><![CDATA[$F{DECISION_DATE}]]></textFieldExpression>
</textField>
</jr:detailCell>

我做错了什么?我使用 JRXlsExporter 将报告导出到 xls。字段 DATE 类型为

<field name="DECISION_DATE" class="java.lang.String"/>

最佳答案

查看 Jasper Reports 库提供的示例,我可以找到类似以下内容的内容:

<field name="OrderDate" class="java.util.Date"/>

...

<textField isStretchWithOverflow="true" pattern="yyyy, MMM dd">
<reportElement positionType="Float" x="54" y="2" width="87" height="10" uuid="1886b1ce-67ff-4457-89de-7baeae1446d0"/>
<textElement textAlignment="Center"/>
<textFieldExpression><![CDATA[$F{OrderDate}]]></textFieldExpression>
</textField>

请注意(在此示例报告中)字段 OrderDate被声明为 java.util.Date目的。所以,我相信对于属性 pattern上类,textFieldExpression必须包含java.util.Date对象。

但是,在您的情况下(正如我们的评论中所讨论的),您的字段类型是 java.lang.String 。像这样的东西:

<field name="DECISION_DATE" class="java.lang.String"/>

作为textFieldpattern属性不适用于您的 DECISION_DATE字段,解决方案可以直接在 textFieldExpression 中格式化您的字段值(字符串)。 ,吞并pattern属性。例如(基于您的代码):

<textField>
<reportElement x="0" y="0" width="90" height="20" uuid="1a3dc360-984e-4029-af37-ffa54c84f1c3"/>
<textFieldExpression><![CDATA[new java.text.SimpleDateFormat("MMMM dd, yyyy").format(new java.text.SimpleDateFormat("<your timestamp mask>").parse($F{DECISION_DATE}))]]></textFieldExpression>
</textField>

请注意我放置 <your timestamp format> 的位置你应该为你的时间戳设置掩码。将 SQLite 与 datetime 一起使用时数据类型,生成的字符串为“2014-05-18 01:18:18”(对于 java.lang.String 字段),因此您可以使用掩码“yyyy-MM-dd HH:mm:ss”,例如。

关于java - Jasper Reports 日期不会根据给定格式更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24616039/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com