以秒和毫秒之间的日期格式冒号.如何解析R?

Dor*_*jer 9 datetime r time-series strptime milliseconds

我该如何解析这种日期格式?我应该将这个冒号改成点还是有人知道更好的解决方案?

> x <- "2012.01.15 09:00:02:002"
> strptime(x, "%Y.%m.%d %H:%M:%S:%OS") 
[1] "2012-01-15 09:00:02"
> strptime(x, "%Y.%m.%d %H:%M:%OS")
[1] "2012-01-15 09:00:02"
> x <- "2012.01.15 09:00:02.002"
> strptime(x, "%Y.%m.%d %H:%M:%OS")
[1] "2012-01-15 09:00:02.001"
Run Code Online (Sandbox Code Playgroud)

Jos*_*ien 8

这里有一个微妙的区别,可能会让你失望.作为?strptime说明:

对于'strptime''%OS'将输入秒数,包括小数秒.

要强调一点,%OS表示包括小数秒的秒数 - 不仅仅是秒的小数部分:如果秒值是44.234,%OS或者%OS3代表44.234,而不是.234

所以解决方案确实是替代.最后的决定:.

这是你可以这样做的一种方式:

x <- "2012.01.15 09:00:02:002"
strptime(gsub(":", ".", x), "%Y.%m.%d %H.%M.%OS") 
Run Code Online (Sandbox Code Playgroud)