2016-07-21 19 views
0

我有以下領域:1388481000000從Unix紀元(1970-01-01 UTC)阿帕奇PIG - 轉換成millseconds時間戳的Unix

我怎麼能轉換爲UNIX時間戳經過的毫秒數? 我試圖使用方法:

ToUnixTime(1388481000000,'dd/MM/yyyyHH:mm:ss','GMT') 

,但它給了我錯誤...

我怎麼能轉換成Unix時間戳?非常感謝!

回答

0

你在混淆。 ToUnixTime語法是ToUnixTime(datetime)其中參數是日期時間對象。您擁有的是從Unix紀元(1970-01-01 UTC)過去的毫秒數。我假設您正在嘗試將毫秒轉換爲日期時間對象,您將不得不使用ToDate,語法爲ToDate(毫秒)。

ToDate(1388481000000) 
+0

我已將我的字段定義爲chararray ...您建議進行哪種類型的轉換? – SaCvP

+0

使用long來加載毫秒。您仍然可以使用chararray,但會像這樣ToDate((long)1388481000000)參見這裏瞭解數據類型https://pig.apache.org/docs/r0.7.0/piglatin_ref2.html#數據+類型 –