R関数_as.POSIXct
_のすべての有効な時間名のリストはどこにありますか?
as.POSIXct("1970-01-01",tz="CST")
は、 "CST"(中央標準時)が不明であるという警告を生成します。
?Sys.timezone
には、特に調べるためのヒントがあります:"R_HOME/share/zoneinfo/zone.tab"
(R_HOME
は、Rがインストールされているディレクトリです。タイムゾーンは厄介であり、そのニュアンスの多くはオペレーティングシステム(およびロケール?)固有であることを覚えておいてください。
特定のケースでは、"CST6CDT"
の代わりに "CST"
。
タイムゾーンのものはあなたを動かすことができます[〜#〜] nuts [〜#〜] !!
ドイツにいるので、これは私が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"
_
私のメイクのその場所でそれを見つけることができませんでしたが、ソースディレクトリに圧縮バージョンが見つかりました。 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
ファイルで見つかりました。
ほとんどのRプラットフォームは、David Olsonによってコンパイルされたタイムゾーンデータベースを使用します。名前は少し古くなっていますが、それらはあなたが始めるのに役立ちます。
利用可能なタイムゾーンの完全なリストを検索します(Windowsでは機能しません)。
OlsonNames()
OlsonNames()が機能しないウィンドウを実行している人のために: ここで完全なリストを参照してください 。
または詳細はこちら http://www.twinsun.com/tz/tz-link.htm