2016-05-17 53 views
0

我希望下面的值,它是在豬一chararraychararray如何轉換爲datetime與豬毫秒拉丁

2016-05-11 23:59:57.628197 

2016-05-11T23:59:57.628-05:00 

我該怎麼辦呢轉換?

以下是我的嘗試考慮別名 'A2' 包含在一個名爲 'input_date_value'

FOREACH a2 GENERATE input_date_value AS input_date:chararray, 
         ToDate(input_date_value,'YYYY-MM-DD HH:mm:ss.SSSSSS') AS modification_datetime:datetime; 

對於輸入列chararray datetime值的列表 -

2002-07-11 16:58:40.249764 

輸出是 -

2002-01-11T16:58:40.249-05:00 

'07'等月份值未被拾取, 創建的時間戳記的月份設置爲01',即每月1月的所有日期。

有人可以幫忙。我究竟做錯了什麼 ?

回答

0

謝謝大家對他們的精彩建議00你看到的是時區TODATE實際上截斷到3個位數。我試圖在日期格式模式修復和成功(豬0.11)

使用小寫字母d,而不是資本d解析日期值,就是這樣......

Apparhently這裏提到的解析的日期格式組件月份和日期是錯誤的,或只是在豬0.11不支持作爲mentioned- https://www.w3.org/TR/NOTE-datetime

'YYYY-MM-DD HH:MM:SS.SSSSSS'

,而不是

'YYYY-MM-DD HH:MM:SS.SSSSSS'

現在給出正確的輸出 -

2001- -28T16:04:49.223-05:00

輸入 -

2001- -28 16:04:49.22388

1
+0

謝謝您的回答維卡斯。你錯誤地解釋了我的朋友的問題。我知道它會將毫秒截至三位數。問題在於從chararray解析月份值,並將其生成到特定月份的日期時間。你可以請重新訪問並提供答案嗎? – nitinr708

+0

明白了吧,我認爲這與ToDate中的解析有關,讓我檢查並更新 –

+0

看起來像是一個錯誤,無論你通過它的月份顯示爲1我所擁有的就是豬.012版本你有什麼版本? –