2012-07-16 59 views
1

我從一個CSV文件中讀取數據,我得到「2010-7-3」, 一個字符串,我不能這個數據轉換成時間戳,因爲它不喜歡「2010-07-03」如何將字符串轉換爲DataStage中的時間戳?

我該怎麼辦?有一個階段可以處理這個問題嗎?

+0

您是否嘗試過指定的日期格式?像StringToTimestamp(DSLink.MY_STRING_COL,「%yyyy-%m-%d」)''? – 2012-07-19 13:59:45

+0

但是,仍然有一些數據像「2010-12-30 12:30:10」 – wtm 2012-07-20 02:57:39

回答

2

在變壓器中,設置三個階段變量 - 年,月和日。它們各自的值應爲

Field(InputLink.string_date, "-", 1) 
Right("0" : Field(InputLink.string_date, "-", 2), 2) 
Right("0" : Field(InputLink.string_date, "-", 3), 2) 

然後在輸出列中使用此:

StringToTimestamp(year : month : day : "000000", "%yyyy%mm%dd%hh%nn%ss") 
+0

我使用java stage並通過java代碼處理那個問題,我沒有試過你的解決方案,但是謝謝你們所有的一樣。 – wtm 2012-07-20 03:03:07

相關問題