我已创建了时间表达式几个变量,创建基于时间的报告:如何显示前一个月的最后一天相对于某个日期?
// First of month (Returns 01/09/2017)
new SimpleDateFormat("MM/dd/yyyy").format(java.util.Date.parse("01/" + MONTH(NOW()) + "/" + YEAR(NOW())))
// First of previous month (Returns 01/08/2017)
new SimpleDateFormat("MM/dd/yyyy").format(java.util.Date.parse("01/" + (MONTH(NOW()) - 1) + "/" + YEAR(NOW())))
// Last of month (Returns 30/09/2017)
new SimpleDateFormat("MM/dd/yyyy").format(java.util.Date.parse(MONTH(NOW()) + "/" + DAYSINMONTH(NOW())+ "/" + YEAR(NOW())))
我现在得到上月的最后一天挣扎。我尝试了类似下面的内容,但这当然不能正常工作,因为不是所有的月份都有相同的天数。
// Last of previous month (Returns 30/08/2017)
new SimpleDateFormat("MM/dd/yyyy").format(java.util.Date.parse(
(MONTH(NOW()) - 1)
+ "/" +
DAYSINMONTH(NOW())
+ "/" +
YEAR(NOW())
))
你知道一种检索上个月最后一天的方法吗?
参考:http://community.jaspersoft.com/questions/843248/last-day-current-month
我最近通过在select语句中使用SQL实例来实现它。尽管如此,仍然对智能解决方案感兴趣 – user2663557