如何从POSIXlt中提取索引的亚秒部分?

时间:2013-04-30 16:26:53

标签: r

如何从POSIXlt对象中提取小数? as.numeric()仅给出自纪元以来的秒数。

as.character((as.POSIXlt(1366736969, origin="1970-01-01") + 0.001172))
[1] "2013-04-23 13:09:29.001172"
as.numeric((as.POSIXlt(1366736969, origin="1970-01-01") + 0.001172))
[1] 1366736969

1 个答案:

答案 0 :(得分:3)

as.numeric不仅会返回秒数,也就是它的打印方式。您可以通过提高精度来看到这一点。

options(digits.secs=6)
p <- as.POSIXct(1366736969, origin="1970-01-01") + 0.001172
as.numeric(p)
# [1] 1366758569
od <- options("digits")
options(digits=22)
as.numeric(p)
# [1] 1366758569.001172065735

如果要提取子秒,请使用trunc

options(od)
p-trunc(p)
# Time difference of 0.001172066 secs