我有一個POSIXct變量,上面寫着2016年12月15日20時11分29秒的PST,但PST不正確。它實際上應該閱讀2016年12月15日二十時11分29秒GMT轉換不正確時區
我需要做的時區正確,格林尼治標準時間的話,我需要將其轉換爲紐約時間
所以我給出的2016- 12-15 20:11:29太平洋標準時間。這應該是2016-12-15 20:11:29 GMT,那麼我需要將2016-12-15 20:11:29 GMT轉換爲「America/New_York」,所以最終結果將是16:11:29 America/New_York因爲紐約時間是BEHIND GMT時間。
我試過這個方法很多,但不能得到它的工作。有任何想法嗎?
p = as.POSIXct("2016-12-15 20:11:29 PST")
p
********** UPDATE ********* 我真正的代碼使用的變量和建議的解決方案不起作用。見下文
p = as.POSIXct("2016-12-15 20:11:29 PST")
out = as.POSIXct(p, tz="GMT")
out
attr(out,"tzone") <- "America/New_York"
out
> out
[1] "2016-12-15 20:11:29 PST"
> attr(out,"tzone") <- "America/New_York"
> out
[1] "2016-12-15 23:11:29 EST" ### this is incorrect
***這也母鹿鼻涕工作
p = as.POSIXct(p, usetz=TRUE, tz="GMT")
(format(p, tz="America/New_York"))
[1] "2016-12-15 23:11:29 EST"
> p = as.POSIXct(p, usetz=TRUE, tz="GMT")
> (format(p, tz="America/New_York"))
[1] "2016-12-15 23:11:29"
'out < - as.POSIXct(「2016-12-15 20:11:29 PST」,tz =「GMT」); attr(out,「tzone」)< - 「America/New_York」'如果你想保留POSIXct結構但改變時區。但我同意結果是15:11:29 – thelatemail
我看到這可以在你的代碼中工作,但在我的真實代碼中,我有一個可變var,而不是字符串日期。所以它看起來像as.POSIXct(var,usetz = TRUE,tz =「GMT」),它不起作用。我會嘗試重現和更新 – user3022875
這個問題,請參閱編輯 – user3022875