2016-12-02 46 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) 
相关问题