2015-06-18 93 views
2

我在PDT時區,我想將變量「s」更改爲GMT時區。任何想法如何?如何更改Sys.time的時區()

s<-Sys.time() 
s 
as.POSIXct(s,"GMT") 

輸出

> s<-Sys.time() 
> s 
[1] "2015-06-17 17:56:17 PDT" 
> as.POSIXct(s,"GMT") 
[1] "2015-06-17 17:56:17 PDT" # <-- how do I get this in GMT?? 
+0

'Sys.setenv(TZ = 「GMT」)' – Khashaa

+1

@Khashaa這將工作,但也許他不想改變他的系統時區。 –

+1

您是否希望格林威治標準時間的相應時間用於PDT時間,或者您是否希望將標籤從PDT改爲GMT? – thelatemail

回答

2

取決於你想要做什麼,有幾個選項:從本地時間GMT

s <- Sys.time() 
s 
#[1] "2015-06-18 11:21:22 EST" 

轉移,無adustment:

as.POSIXct(format(s),tz="GMT") 
#[1] "2015-06-18 11:21:22 GMT" 

轉移到G MT,調整當地時間和GMT之間的時差。

`attr<-`(s,"tzone","GMT") 
#[1] "2015-06-18 01:21:22 GMT" 

,其等同於賦值操作:

attr(s,"tzone") <- "GMT" 
2

也可以使用.POSIXct

s <- .POSIXct(s, "GMT") 
+0

只是注意到這調整了GMT的時間(即 - 相當於我的答案中的第二個例子)> – thelatemail