如何在iReport和Jasperserver中将Date转换为Epoch

时间:2011-04-22 09:22:09

标签: ireport jasperserver

我想在两个日期之间创建一个登录历史记录报告。

登录历史记录表包含以下字段:

login_date  (data type is integer)
user_id     (data type is integer)

样本记录

|login_date |user_id|
+-----------+-------+
|1299954600 |   105 |
|1299954600 |   105 |
|1299954600 |   105 |
|1299954600 |   105 |
|1301164200 |   114 |
|1301164200 |   106 |
|1301769000 |   110 |
|1301164200 |   106 |
|1301769000 |   106 |
|1301769000 |   106 |
|1301769000 |   106 |
|1302978600 |   102 |
|1302373800 |   112 |
|1302978600 |   111 |
|1302978600 |   111 |
|1302978601 |   111 |

注意:我已将登录日期存储在大纪元时间。

我想为以下查询创建报告。

SELECT
  user_id,
  count(user_id)
FROM
  rep_time_tracking
WHERE
  login_date between 1301596200 AND 1303496940
GROUP BY 1;

我为运行时参数添加了两个参数。

实施例。 ${FROM}$P{TO},值表达式为日期/时间。

现在,用户使用我想要转换为Epoch的输入选择日期和时间。

如何在iReport JasperServer中实现这一目标?

1 个答案:

答案 0 :(得分:0)

它非常简单,所有你需要做的就是在Date上调用一个函数getTime()它给你UTC时间,然后在查询中用它作为参数。!

参见Screent Shot。 enter image description here