"Last Week" Jasper 报表中的日期条件样式



我正在尝试创建一种样式,使日期从上周的粗体。我只能通过像下面这样输入一个明确的日期来让它工作。我想要一个基于当前日期的动态"上周"。

<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>

  • 您可以尝试这个表达式来获得'上周'(今天减去七天)
    <![CDATA[new Date(System.currentTimeMillis() - (7 * 1000 * 60 * 60 * 24))]]>
    

    你也可以看到这个链接,以更好地理解这个解决方案。

  • 您可以尝试通过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库。下面是使用。
  • 的脚本示例

    最新更新