我正在BIRT中使用报告参数。
它是一个字符串,其中包含月份/年份,例如:08/2018
要测试该值,我正在使用以下代码。它位于动态文本中:
var dateStringArray = params["monthYear"].value.split("/");
var date = new Date(parseInt(dateStringArray[1]), parseInt(dateStringArray[0]) - 1, 1);
var t = parseInt(dateStringArray[0]);
t;
如果用08/2018填充参数,则会得到NaN,请参阅:
但是如果我用07/2018填充参数,则它可以正常工作:
我已经用几个数字对其进行了测试。只是不能与08和09一起使用。所有其他数字,直到10都可以使用...
答案 0 :(得分:0)
这似乎是一个奇怪的情况。需要对此提出一个错误。 但是,要解决此问题,您可以使用“动态文本”中的以下代码,效果很好:
var dateStringArray = params["monthYear"].value.split("/");
var monNum;
if (BirtStr.charLength(dateStringArray[0]) == 2)
{monNum = BirtStr.right(dateStringArray[0],1);}
else {monNum = dateStringArray[0];}
monNum;
//var date = new Date(parseInt(dateStringArray[1]), parseInt(dateStringArray[0]) - 1, 1);
var t = parseInt(monNum);
t;