为什么 lubridate 似乎会更改组合成矢量的两个日期的时区?

Why does lubridate appear to change time zones for two dates combined into a vector?

我在 R 中使用 lubridate 包时看到了意外结果。我只是想将两个日期组合成一个向量。当我这样做时,时区会改变。这里发生了什么?

> x <- ymd("2016-02-08")
> y <- ymd("2016-03-29")
> x
[1] "2016-02-08 UTC"
> y
[1] "2016-03-29 UTC"
> c(x,y)
[1] "2016-02-07 18:00:00 CST" "2016-03-28 19:00:00 CDT"

使用c() 将删除时区属性。因此你必须重新分配它:

xy <- c(x,y)
attr(xy, "tzone") <- "UTC"
> xy
[1] "2016-02-08 UTC" "2016-03-29 UTC"

来源和更多信息:Peter Ehlers on R Help