as.POSIXct:毫秒处理

时间:2021-04-12 16:23:54

标签: r posixct

我对 as.POSIXct() 函数如何处理毫秒感到有些困惑。 R v4.0.5 的可重现代码如下所示(新会话,未加载任何包)。

> options("digits.secs" = 3)

> a <- as.POSIXct("2020-09-14 00:01:39.800")
> a
[1] "2020-09-14 00:01:39.7 CEST"
> format(a, "%Y-%m-%d  %H:%M:%OS3")
[1] "2020-09-14  00:01:39.799"

> b <- as.POSIXlt("2020-09-14 00:01:39.800")
> b
[1] "2020-09-14 00:01:39.8 CEST"
> format(b, "%Y-%m-%d  %H:%M:%OS3")
[1] "2020-09-14  00:01:39.800"

谁能解释一下这种行为?为什么 as.POSIXct 将我的 .800 毫秒更改为 0.799 毫秒?我从来没有注意到。这可能是最近 R 版本中引入的错误吗?

0 个答案:

没有答案