2016-12-02 48 views
1

我在被識別爲字符類的數據框中有一個時間戳。出於某種原因,我無法將其轉換爲Poxis時間戳。將字符轉換爲數據框中的時間戳

這是一個數據樣本。

ID dateTime stage 
1 2016-11-01T00:00:00.000Z 4.82 
2 2016-11-01T00:15:00.000Z 4.83 
3 2016-11-01T00:30:00.000Z 4.84 
4 2016-11-01T00:45:00.000Z 4.85 
5 2016-11-01T01:00:00.000Z 4.86 
6 2016-11-01T01:15:00.000Z 4.87 

我試過使用以下內容。

format(df$dateTime, "Y%-%m-%d %h:%m") 


as.Date(df$dateTime, "Y%-%m-%d %h:%m") 



as.POSIXct(df$dateTime, tz="GMT") 

的嘗試無上述工作。在嘗試完每一堂課之後,班級總是會以角色出現。

有什麼建議嗎?

回答

4

我們可以使用anytime

library(anytime) 
anytime('2016-11-01T00:15:00.000Z') 
#[1] "2016-11-01 00:15:00 IST" 

或者使用strptime

strptime('2016-11-01T00:15:00.000Z', '%Y-%m-%dT%H:%M:%OSZ') 
#[1] "2016-11-01 00:15:00 IST" 
0

Z表示它的UTC時間。所以一個選擇就是去掉字母並用tz =「UTC」轉換爲POSIXCT。由於數據幀不容易重現,我只使用兩個日期的向量:

x<- as.POSIXct(gsub(pattern = "[A-Z]",replacement = " ", 
       x = c("2016-11-01T00:45:00.000Z","2016-11-01T00:39:00.000Z")) , 
       tz="UTC") 
x 
class(x) 
相關問題