Как преобразовать дату в эпоху в iReport и Jasperserver - PullRequest
2 голосов
/ 22 апреля 2011

Я хочу создать отчет для истории входа в систему между двумя датами.

Таблица истории входа в систему имеет следующие поля:

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 |

Примечание: Я сохранил дату входа в Epoch time.

Я хочу создать отчет для следующего запроса.

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

Я добавил два параметра дляпараметр времени выполнения.

Пример.${FROM} и $P{TO}, значением выражения является Дата / Время.

Теперь пользователь выбирает дату и время, используя ввод, который я хочу преобразовать в эпоху.

Как этого добиться вiReport и JasperServer?

1 Ответ

0 голосов
/ 09 июня 2012

Это довольно просто, все, что вам нужно сделать, это вызвать функцию Date, которая называется getTime (), она дает вам время UTC, а затем использовать его в качестве параметра в запросе.!

См. Screent Shot.enter image description here

...