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