2015-05-07 57 views
2

我有一個輸入excel表,其中有一個字段「fail_date」。我想將格式更改爲dd.MM.yyyy HH:mm:ss。我在下面的JavaScript中做這個。使用javascripting在Pentaho中更改日期格式

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

,但我得到下面的錯誤,當我運行

2015年5月7日17時48分01秒 - 修正Java腳本值2 2 2.0 - 錯誤 (版本4.4.0穩定,由2012-11-21 16.02.21生成17588 by buildguy):無法對字符串 應用給定格式dd.MM.yyyy(1月1日01:05:50 IST 1970):Format.parseObject(String)失敗 (script#5)

腳本#5指向str2date(temp,"dd.MM.yyyy HH:mm:ss");。請幫助解決這個問題。

+0

'GETDATE()'的JavaScript'Date'對象返回一個月的時間'[1- 31]'。看起來你正在傳遞一個無效的日期進行轉換。你將不得不顯示'temp'的值和函數'str2date'的正文以獲得進一步的幫助。 – sabithpocker

+0

Input excel中的值爲「1970/01/01 11:05:50.312」[數據類型爲日期] 在pentaho中,此值在「temp」中讀取,值爲「Thu Jan 01 11:05: 50 IST 1970「。 在pentaho中,str2date是一個內置函數。用法:str2date(「01.12.2006 23:23:01」,「dd.MM.yyyy HH:mm:ss」)。 – tester

回答

0

變量temp被設置爲日期類型對象,但是當您應用str2date函數時,此函數預期爲字符串temp。

因此,這是你的代碼應該是這樣:

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

現在還記得temp是字符串類型

+0

另外,現在,變量temp被設置爲字符串。 var temp = fail_date.getString(); temp = str2date(temp,「dd.MM.yyyy HH:mm:ss」); 但我得到下面的錯誤 無法套用給定的格式DD.MM.YYYY HH:對字符串2015年3月2日04 SS:毫米00:31.000:Format.parseObject(字符串) – tester