25793 - Campos data nos relatórios customizados Jasper exibidos de forma diferente
Problema: Campos com datas nos relatórios customizados pelo Jasper Report são apresentados de forma incorreta.
Solução: O Tipo de campo depende de como se deseja apresentar os dados, nos relatórios padrões é utilizado o tipo java.sql.Timestamp, pois além da data, a hora também é apresentada.
Além disso, é importante verificar que a hora salva na base está no formato GMT - 3, e o serviço de relatórios espera que todas as datas estejam no formato GMT 0. Portanto é necessário fazer a operação reversa, somando 3 horas no valor do campo.
No relatório embarcado, é feito utilizando a seguinte atribuição no campo: DATEFORMAT(new Date($F{start_date}.getTime() + 3 * 3600*1000),"dd/MM/yyyy HH:mm")
Lembrando que, ao aplicar essa regra, o relatório se pré-visualizado pelo jasper irá exibir a hora no formato GMT 0, porém, ao executar pelo serviço de relatórios na plataforma irá mostrar a hora correta.
Solução: O Tipo de campo depende de como se deseja apresentar os dados, nos relatórios padrões é utilizado o tipo java.sql.Timestamp, pois além da data, a hora também é apresentada.
Além disso, é importante verificar que a hora salva na base está no formato GMT - 3, e o serviço de relatórios espera que todas as datas estejam no formato GMT 0. Portanto é necessário fazer a operação reversa, somando 3 horas no valor do campo.
No relatório embarcado, é feito utilizando a seguinte atribuição no campo: DATEFORMAT(new Date($F{start_date}.getTime() + 3 * 3600*1000),"dd/MM/yyyy HH:mm")
Lembrando que, ao aplicar essa regra, o relatório se pré-visualizado pelo jasper irá exibir a hora no formato GMT 0, porém, ao executar pelo serviço de relatórios na plataforma irá mostrar a hora correta.