java - jasper 报告 JS 5.1 中的时区问题

标签 java jasper-reports jasperserver

在我的 jasperReport 中,我有一个 java.sql.Timestamp 数据类型的输入控件。 现在,使用此输入控件,用户可以在运行报告之前选择日期。现在,当我在报告中复制日期选择器(输入控件)的下划线参数时,我会在报告中获得用户选择的确切时间。

我的要求是格式化用户选择的日期。所以我编写了一个简单的函数,例如

public static String convertDateToString(java.sql.Timestamp inputDate)
{
    System.out.println("The input Date is :: "+inputDate);
    String s = new SimpleDateFormat("MM/dd/yyyy hh:mm:ss.S").format(inputDate);
    System.out.println("The output Date is :: "+s);
    return s;
}

现在,当浏览器和 jasperserver 位于同一时区时,这可以正常工作,但是当 服务器处于不同时区,输入日期与打印日期不同

最佳答案

你可以试试我在 iReport 中使用过的这个。

1:-Create a Parameter “DateFormatter” with 
   class="java.text.DateFormat" and set default value

  default value =[$P{REPORT_FORMAT_FACTORY}.createDateFormat("yyyy-MM-dd 
    HH:mm",$P{REPORT_LOCALE}, java.util.TimeZone.getTimeZone("IST"))

2:- 文本字段表达式:-

$F{ImportDate}== null ? "N/A" : $P{DateFormatter}.format($F{ImportDate})

关于java - jasper 报告 JS 5.1 中的时区问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17456230/

相关文章:

jasper-reports - JasperReport 参数在 iReport 中有效,但在 JasperServer 上失败

Java泛型类作为参数

html - Jasper Reports - 显示来自 html 源的图像

java - JasperServer 错误 - 无法获取下一条记录

tomcat - 大量临时文件导致服务器崩溃。如何将 virt 文件存储在 jasper 报表服务器中的不同位置

java - 日期出现在 JasperServer 中编程日期的前一天

java - 如何在 Android Q 中获取 Image Uri?

java - X clicked/alt-F4 和 windowsclosing() 事件之间的事件

Java 名称隐藏 : The Hard Way

jasper-reports - Jasper报告中的空字段的默认值