在R中将毫秒转换为时间

时间:2013-03-08 20:42:07

标签: r

我有一些时间(以毫秒为单位)我要转换为mm:ss(与类似的设置进行比较)。例如,我有

 x<-c(119254, 246973, 267492)

我可以用算术

计算分钟数
 > x/1000/60
 [1] 1.987567 4.116217 4.458200

不确定如何获得%M:%S格式,或者是否有正确的方法来获取毫秒并在没有算术的情况下进行转换。

1 个答案:

答案 0 :(得分:6)

只需将秒添加到DateTime对象,format.POSIXct将处理显示的计算。由于POSIXct时间以秒为单位,因此您无需除以60:

> as.POSIXct(Sys.Date())+x/1000
#[1] "2013-03-07 16:01:59 PST" "2013-03-07 16:04:06 PST" "2013-03-07 16:04:27 PST"

> format( as.POSIXct(Sys.Date())+x/1000, "%M:%S")
#[1] "01:59" "04:06" "04:27"