使用javascripting更改Pentaho中的日期格式

使用javascripting更改Pentaho中的日期格式,pentaho,kettle,e4x,Pentaho,Kettle,E4x,我有一个excel输入表,其中有一个字段“失败日期”。我想将格式更改为dd.MM.yyyy HH:MM:ss。我正在使用如下所示的javascript执行此操作 var temp = fail_date.getDate(); str2date(temp,"dd.MM.yyyy HH:mm:ss"); 但当我运行时,我得到以下错误 2015/05/07 17:48:01-修改的Java脚本值2.0-错误 (版本4.4.0-stable,于2012-11-21 16.02.21由 buildguy

我有一个excel输入表,其中有一个字段“失败日期”。我想将格式更改为
dd.MM.yyyy HH:MM:ss
。我正在使用如下所示的javascript执行此操作

var temp = fail_date.getDate();
str2date(temp,"dd.MM.yyyy HH:mm:ss");
但当我运行时,我得到以下错误

2015/05/07 17:48:01-修改的Java脚本值2.0-错误 (版本4.4.0-stable,于2012-11-21 16.02.21由 buildguy):无法对字符串应用给定的格式dd.MM.yyyy 对于Thu Jan 01 11:05:50 IST 1970:Format.parseObject(字符串)失败 (脚本#5)


脚本#5点指向str2date(temp,“dd.MM.yyyy HH:MM:ss”)。请帮助解决此问题。

变量temp设置为日期类型对象,但当您应用str2date函数时,此函数希望将temp设置为字符串

因此,您的代码应该是这样的:

var temp = fail_date.getDate();
temp = date2str(temp,"dd.MM.yyyy HH:mm:ss");

现在请记住,在javascript
Date
对象中,temp是字符串类型

getDate()
返回月份的日期
[1-31]
。看起来您传递的转换日期无效。您必须显示
temp
的值和函数体
str2date
以获得进一步帮助。输入excel中的值是pentaho中的“1970/01/01 11:05:50.312”[数据类型是日期],该值在“temp”中读取,值是“Thu Jan 01 11:05:50 IST 1970”。在pentaho中,str2date是一个内置函数。用法:str2date(“01.12.2006 23:23:01”,“dd.MM.yyyy HH:MM:ss”)。现在,变量temp设置为字符串。var temp=fail_date.getString();温度=标准日期(温度,“日-月-年”HH:MM:ss);但我发现以下错误,无法对2015/03/02 04:00:31.000:format.parseObject(字符串)的字符串应用给定的格式dd.MM.yyyy HH:MM:ss