考虑一下:
R> library(anytime)
R> anytime("2015-08-31 07:23:25.3")
[1] "2015-08-31 07:23:25.2 CDT"
R>
标准舍入误差在数字数据(如日期)上并不罕见。但是你很可能会犯两个错误:
显示精度不是存储精度
见证这一点:
R> options("digits.secs"=0); Sys.time()
[1] "2017-02-12 19:47:49 CST"
R> options("digits.secs"=6); Sys.time()
[1] "2017-02-12 19:47:53.378328 CST"
R>
R 的时间总是大约为微秒精度,但您的默认显示可能会抑制亚秒级。他们总是在那里:
R> now <- Sys.time()
R> now - trunc(now)
Time difference of 0.722091 secs
R>
从 Postgresql 导入错误
在 Google Summer of Code 期间,我是 RPostgreSQL 项目的最初导师。Postgresql 有本地日期时间,R 也有。永远不要将时间作为字符导入。如果您正确键入查询,解析问题就会消失。