BIRT日期格式

wribegjk  于 2022-09-21  发布在  Eclipse
关注(0)|答案(1)|浏览(234)

我在BIRT Eclipse中有一个yyyy-mm格式的输入参数,我需要找到所选输入参数值的最后一天,并将其转换为mm/dd/yyyy格式。例如,如果用户选择-2022-02,那么我需要找到最后一天-02/28/2022,并将其传递给另一个过滤器。

我尝试使用下面的Java表达式,但不确定问题出在哪里

有人能帮帮忙吗。我在这个问题上已经纠结了好几个星期了。

var mydt1 =params["Period To"].value
importPackage(Packages.java.util);
importPackage(Packages.java.text);
df = new SimpleDateFormat("yyyy - MM");
myDate = df.parse(mydt1);
cal = new Calendar.getInstance();
cal.setTime(myDate);
cal.set(Calendar.DAY_OF_MONTH, cal.getActualMaximum(cal.DAY_OF_MONTH));
lastDate = cal.getTime();
datefm = new SimpleDateFormat("MM/dd/yyyy");
ddd = datefm.format(lastDate);
return ddd;
tkclm6bt

tkclm6bt1#

如果您有DateTime参数,请尝试此选项:

var date = Formatter.format(BirtDateTime.addDay(BirtDateTime.addMonth(BirtDateTime.firstDayOfMonth(params["Period To"].value),1)-1),"MM/dd/yyyy")

首先,我们得到这个月的第一天,然后加上一个月,然后减去一天,得到这个月的最后一天。

相关问题