我在哪裏可以找到R函數as.POSIXct
的所有法定時區名稱列表?R strptime中的unknown時區名稱/ as.POSIXct
as.POSIXct("1970-01-01",tz="CST")
生成「CST」(中央標準時間)未知的警告。
我在哪裏可以找到R函數as.POSIXct
的所有法定時區名稱列表?R strptime中的unknown時區名稱/ as.POSIXct
as.POSIXct("1970-01-01",tz="CST")
生成「CST」(中央標準時間)未知的警告。
?Sys.timezone
有一些提示,特別是要查找:"R_HOME/share/zoneinfo/zone.tab"
(R_HOME
是安裝在R目錄中)。請記住,時區是討厭的,它們的許多細微差別都是特定的操作系統(和區域?)。
在您的具體情況下,您想要"CST6CDT"
而不是"CST"
。
無法在我的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
文件中。
時區的東西可以驅動你堅果!
由於它位於德國,這是我以前做的設置我的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"
大多數的R平臺使用由大衛·奧爾森,其中首選參考可被位置編譯時區數據庫。這裏的名字有些過時,但是它們會幫助你走上正軌。
查找可用時區的完整列表(不工作在Windows上):
OlsonNames()
爲鄉親運行OlsonNames()不工作窗口:See the full list here。
在我的Windows上,Windows Server 2012和Windows 10都能正常工作。 – 2015-11-09 16:25:40
嗯有趣...在我們的linux服務器上工作,但不在我的Windows桌面上工作。 – mmann1123 2015-11-10 17:07:58
由於讀了,所以我應該使用EST5EDT而不是EST?這並不明顯...... – ahala 2010-10-28 21:32:40
是的,或者您可以使用「zones.tab」文件中定義的「America/New_York」。正如我所說,討厭... – 2010-10-28 21:37:11