1

如何从 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
4

1 回答 1

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
于 2013-04-30T18:34:10.183 回答