有没有办法在jasper中删除比较日期的时间?

时间:2014-03-14 17:35:08

标签: jasper-reports

我有2个约会。 第一个是

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

&安培;第二是当前日期 所以我正在做这样的事情

<![CDATA[ $F{duedate} >= (new java.util.Date()) ? "one" : "two"]]>

如果dueDate与新java.util.Date()

匹配,则无效

似乎日期格式也存在一些问题。我正在使用 PostgreSQL 查询来获取日期。 说查询就像这样

    <queryString>select dueDate from table1</queryString>

&安培;然后我像这样得到那个领域

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

PostgreSQL dueDate o / p的类型为java.sql.date

我声明的字段是否可以作为util.date使用?

1 个答案:

答案 0 :(得分:1)

java.util.Date有自己的比较方法(compareTo(),after(),before()),它们也可以在Jasper中工作。所以你可能会尝试类似的东西:

$F{duedate}.compareTo(new java.util.Date() == 0 ? "one" : "two" 

我现在想到的另一个可能的解决方案是在报告的查询中进行比较,如下所示:

SELECT
duedate as duedate,
CASE WHEN duedate == sysdate THEN "one" 
ELSE "two" END as comparison
FROM ....