如何解析此日期格式?我应该将这个冒号改成点还是有人知道更好的解决方案?
> 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"
答案 0 :(得分: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")
答案 1 :(得分:2)
将
strptime(gsub(":", ".", x), "%Y.%m.%d %H.%M.%OS3")
是作弊?