将POSIXct
秒(即小数秒)转换为数字的最简单方法是什么?
考虑:
options(digits.secs = 3)
z <- 1579598122120
dttm <- as.POSIXct((z + 0.1)/1000, origin = "1970-01-01") # avoid rounding down: milliseconds are not exactly representable
print(dttm)
#[1] "2020-01-21 10:15:22.120 CET"
如何从dttm
恢复z
?
我本来希望以下内容会给我自该时期以来的小数秒:
as.numeric(dttm)
[1] 1579598122
搜索网络并阅读文档似乎只能为我提供反问题的解决方案。目前,我最好的解决方案很尴尬,它涉及对与以上内容一起粘贴的format(dttm, "%OS3")
进行字符串操作。
我似乎无法用str(dttm)
,unclass(dttm)
分解对象并从那里恢复值。同样,as.double(dttm)
不起作用。
答案 0 :(得分:0)
如评论中所述,这只是数字的印刷问题:
print(as.numeric(dttm), digits = 14)
#[1] 1579598122.1201
我有失误。