R中以逗号分隔的毫秒格式的DateTime

时间:2012-12-05 10:19:22

标签: r datetime

您好我需要像"20/2/06 11:16:16,683"一样投射dateTimes字符,并且很难做到这一点。 我尝试了经典(没有COMMA FOR MILLI):

R) strptime("20/2/06 11:16:16.683", "%d/%m/%y %H:%M:%OS")
[1] "2006-02-20 11:16:16.682"

我的格式失败了:

R) strptime("20/2/06 11:16:16,683", "%d/%m/%y %H:%M:%OS")
[1] "2006-02-20 11:16:16"

这也是:

R) strptime("20/2/06 11:16:16,683", "%d/%m/%y %H:%M,%OS")
[1] NA

有没有办法直接执行此操作,或者我应该使用gsub之类的函数在使用strptime之前将,替换为.

1 个答案:

答案 0 :(得分:1)

我认为你需要手动进行转换。

这里我的建议不使用gsub,而是使用扫描

 ll <- scan(text = "20/2/06 11:16:16,683",sep=',',what="character")
 as.POSIXct(ll[1],format=("%d/%m/%y %H:%M:%OS"))+ as.numeric(ll[2])/1000

 [1] "2006-02-20 11:16:16.683 CET"