使用javascript在pentaho中将日期格式从“yyyy-mm-dd”转换为“dd / mm / yyyy”

时间:2016-04-28 05:58:57

标签: javascript pentaho kettle date-conversion pentaho-spoon

我有一个csv文件,其中日期字段的格式为“yyyy-mm-dd”,我希望使用javascript将其转换为“dd / mm / yyyy”。这是从reference

中找到的javascript
"could not apply the given format yyyy/mm/dd on the string for 2015-02-04 :Format.parseObject(String) failed(script#3)"

这是我使用的javascript代码

var dateObj = str2date(Date_of_joining, "yyyy/mm/dd");
 var newDate = date2str(dateObj, "dd/MM/yyyy");

我甚至尝试使用“选择值”步骤并将元数据更改为日期并将格式指定为“dd / MM / yyyy”但仍无法正常工作。如何解决此问题

This is the error I got after using select value step

3 个答案:

答案 0 :(得分:1)

您正在解析的日期不是使用斜杠,而是在解析时使用斜杠来定义斜杠。将斜线切换为破折号:

var dateObj = str2date(Date_of_joining, "yyyy-mm-dd");
var newDate = date2str(dateObj, "dd/MM/yyyy");

答案 1 :(得分:0)

我们走了:

尝试重建DateTime字符串,如下所示:

var dateObj = new Date(Date_of_joining);
var newDate = new Date(dateObj );
var formattedString = [newDate.Date(),newDate.Month()+1, newDate.getFullYear()].join("/");
alert(formattedString );

希望它有所帮助;)

答案 2 :(得分:-1)

function convertLinuxDate(linux_date) {
    //linux_date = "2001-01-02"
    var arrDate = linux_date.split("-");
    return arrDate[1] + "/" +arrDate[2] + "/" + arrDate[0];
}
//returns 01/02/2001