我在 JasperServer 论坛上发布了这个,但总体而言,我在 StackOverflow 上的运气更好。如果可以的话请帮忙。
我最大的抱怨JasperServer
是它的行为完全不同于JasperReport
(特别是在 中开发的报告iReport
)。
我现在看到的问题是日期显示为输入参数的日期前一天(实际上,正好是前 4 小时)。
这是我放入 JRXML 的默认值表达式的内容:
((new Date().getMonth() / 3) + 1 == 1)? new Date(new Date().getYear(), 0, 1) :
((new Date().getMonth() / 3) + 1 == 2)? new Date(new Date().getYear(), 3, 1) :
((new Date().getMonth() / 3) + 1 == 3)? new Date(new Date().getYear(), 6, 1) :
new Date(new Date().getYear(), 9, 1)
此代码用于从 的默认值表达式中正确计算季度的开始JasperReports
。当我运行它时iReport
,我认为没有任何问题。对于我在本季度运行的任何报告,我将 2010 年 7 月 1 日视为开始日期。
当我修改 JRXML 以考虑“repo:subreport_name”格式JasperServer
并运行此报告并将JasperServer
输出通过电子邮件发送给我时,我得到了不同的结果:
2010 年 6 月 30 日晚上 8:00
这对我来说似乎是一个错误。