2010-10-28 33 views

回答

19

?Sys.timezone有一些提示,特別是要查找:"R_HOME/share/zoneinfo/zone.tab"R_HOME是安裝在R目錄中)。請記住,時區是討厭的,它們的許多細微差別都是特定的操作系統(和區域?)。

在您的具體情況下,您想要"CST6CDT"而不是"CST"

+0

由於讀了,所以我應該使用EST5EDT而不是EST?這並不明顯...... – ahala 2010-10-28 21:32:40

+2

是的,或者您可以使用「zones.tab」文件中定義的「America/New_York」。正如我所說,討厭... – 2010-10-28 21:37:11

5

無法在我的make中找到它,但在源目錄中找到了壓縮版本。下面是出現在zones.tab文件的頂層時區縮寫列表:

CET, CST6CDT, Cuba, EET, EST, EST5EDT, Egypt, Eire, Factory, GB, GB-Eire, GMT, 
GMT+0, GMT-0, GMT0, Greenwich, HST, Hongkong, Iceland, Iran, Israel, Jamaica, Japan, 
Kwajalein, Libya, MET, MST, MST7MDT, NZ, NZ-CHAT, Navajo, PRC, PST8PDT, Poland, Portugal, 
ROC, ROK, Singapore, Turkey, UCT, UTC, Universal, W-SU, WET, Zulu 

此外還有一些與大陸/國名,其中有更多的選擇,如America/New_York上面的例子:

Africa/  Asia/  Canada/  Indian/ 
America/ Atlantic/ Chile/  Mexico/ 
Antarctica/ Australia/ Etc/  Pacific/ 
Arctic/  Brazil/  Europe/  US/ 
文件夾

這發現在/R-2.11.1/src/extra/tzone/zoneinfo.zip文件中。

13

時區的東西可以驅動你堅果

由於它位於德國,這是我以前做的設置我的TZ:

> options(tz="Europe/Berlin") 

這樣做,我一直想知道爲什麼R.將拋出「未知時區」警告:

> t <- "2011-11-08 09:42:00" 
> as.POSIXct(t, tz=getOption("tz")) 
[1] "2011-11-08 09:42:00 CET" 
Warning messages: 
1: In strptime(xx, f <- "%Y-%m-%d %H:%M:%OS", tz = tz) : 
    unknown timezone 'MET-1MST' 
2: In as.POSIXct.POSIXlt(x) : unknown timezone 'MET-1MST' 
3: In strptime(x, f, tz = tz) : unknown timezone 'MET-1MST' 
4: In as.POSIXct.POSIXlt(as.POSIXlt(x, tz, ...), tz, ...) : 
    unknown timezone 'MET-1MST' 
5: In as.POSIXlt.POSIXct(x, tz) : unknown timezone 'MET-1MST' 

有一天我發現設置tz通過options()是不夠的,因爲環境變量TZ不受影響,因此所有的麻煩:

> Sys.getenv("TZ") 
[1] "MET-1MST" 

改變這應該廢除這個討厭的警告:

> Sys.setenv(TZ="Europe/Berlin") 
> Sys.getenv("TZ") 
[1] "Europe/Berlin" 
> as.POSIXct(t, tz=getOption("tz")) 
[1] "2011-11-08 09:42:00 CET" 
7

大多數的R平臺使用由大衛·奧爾森,其中首選參考可被位置編譯時區數據庫。這裏的名字有些過時,但是它們會幫助你走上正軌。

查找可用時區的完整列表(不工作在Windows上):

OlsonNames() 

爲鄉親運行OlsonNames()不工作窗口:See the full list here

還是在這裏更詳細http://www.twinsun.com/tz/tz-link.htm

+0

在我的Windows上,Windows Server 2012和Windows 10都能正常工作。 – 2015-11-09 16:25:40

+0

嗯有趣...在我們的linux服務器上工作,但不在我的Windows桌面上工作。 – mmann1123 2015-11-10 17:07:58