在R包lubridate,我很容易創建日期使用以下語法:添加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的工作方式,或者這是一些偏袒的怪癖。 –