Jasper报告中的“上周”日期条件样式

时间:2011-10-27 17:55:48

标签: styles jasper-reports conditional date report

我正在尝试创建一种样式,以粗体显示上周的日期。我只能通过输入如下所示的明确日期来使其工作。我希望根据当前日期有一个动态的“上周”。

<style name="Date_Bold" isBold="false">    
    <conditionalStyle>
       <conditionExpression><![CDATA[$F{$F{account_date}.toString() > '2011-10-17 00:00:00']]></conditionExpression>
       <style isBold="true"/>
    </conditionalStyle>
</style>

1 个答案:

答案 0 :(得分:0)

  • 您可以尝试使用此表达式获取“上周”(今天减去7天)

    <![CDATA[new Date(System.currentTimeMillis() - (7 * 1000 * 60 * 60 * 24))]]>
    

    您还可以看到此link以更好地理解此解决方案。

  • 您可以尝试通过SQL query获取日期,并将结果值设置为新的Date字段。
       对于Oracle来说就是这样的:

     SELECT account_date, sysdate-7 as last_week, ... FROM table ...
    

    MS SQL会是这样的:

    SELECT account_date, (GETDATE() - 1) as last_week , ... FROM table ...
    

  • 通过parameter从代码传递日期的另一种方法。

  • 或者您可以尝试导入Joda库。 Here是scriplet使用的样本。