【发布时间】:2015-07-14 14:15:25
【问题描述】:
在 R 包 lubridate 中,我可以使用以下语法轻松创建日期:
> mdy("5/4/2015")
正如预期的那样,它会产生以下结果:
[1] "2015-05-04 UTC"
但是,如果我尝试将这个值添加到数组中,它似乎会从 UTC 更改为我的本地时间 (EDT):
> c(mdy("5/4/2015"))
[1] "2015-05-03 20:00:00 EDT"
由于我不关心时间,这不会对我产生太大影响,只是这会导致日期向后移动 1,如下所示:
> day(mdy("5/4/2015"))
[1] 4
> day(c(mdy("5/4/2015")))
[1] 3
对我来说,向数组中添加一些东西的行为不应该改变那个东西的价值。我在这里遗漏了什么吗?有没有办法解决这个问题?
【问题讨论】:
-
试试
Sys.setenv(TZ="UTC") -
谢谢;这似乎可以解决症状,我对此表示赞赏,但我仍然对我放入向量中的值可能不是我从向量中拉出的值感到不舒服。我不确定我是否对 R 的工作原理有一些基本的误解,或者这是否是 lubridate 中的一些怪癖。