日期格式化Jasper/ireports中文本的一部分

Mee*_*a S 12 jasper-reports ireport

如何格式化日期字段(数据库字段)显示Jasper/iReports(4.5.1)中文本的一部分

通过报告中的文本字段显示...(请使用Groovy)

"此日期的子总数:"+ $ F(DEPOSIT_DATE)

我试过(new SimpleDateFormat("MM/dd/yyyy")).parse($F{DEPOSIT_DATE}),我收到错误消息:

net.sf.jasperreports.engine.fill.JRExpressionEvalException: 
Error evaluating expression : Source text : (new SimpleDateFormat("MM/dd/yyyy")).parse($F{BANK_DATE}) 
Run Code Online (Sandbox Code Playgroud)

我想在报告中显示的内容如下......

此日期的子总数:MM/DD/YYYY - 格式......

Mee*_*a S 32

试试这个:

new SimpleDateFormat("MM/dd/yyyy").format($F{BANK_DATE})
Run Code Online (Sandbox Code Playgroud)


Val*_*kov 6

我同意Mateusz,带有模式性能的textField比新的SimpleDateFormat(“ someFormat”)。format(“ jasperField”)更快。处理大量报告时,这一点很重要。这是我的例子

<textField pattern="MM/dd/yyyy" isBlankWhenNull="true">
...
    <textFieldExpression class="java.util.Date"><![CDATA[$F{certIssueDate}]]></textFieldExpression>
</textField>
Run Code Online (Sandbox Code Playgroud)


MrM*_*ros 5

看来,您尝试解析而不是格式化(如上所述)。

您还可以在文本字段属性选项卡中使用Pattern来漂亮地打印日期,或在jrxml中手动更改模式:

<textField pattern="MM/dd/yyyy">
  <!-- here comes other generated data-->
  <textFieldExpression><![CDATA[$F{BANK_DATE}]]></textFieldExpression>
</textField>
Run Code Online (Sandbox Code Playgroud)