Где я могу найти список всех юридических имен времени для функции R as.POSIXct
?
as.POSIXct("1970-01-01",tz="CST")
генерирует предупреждение о том, что "CST" (Центральное стандартное время) неизвестно.
Где я могу найти список всех юридических имен времени для функции 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"
Не удалось найти его в этом месте на моем make, но нашел версию с zipped в исходном каталоге. Здесь приведен список сокращений часовых поясов, которые отображаются на верхнем уровне файла 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 используют базу данных часовых поясов, составленную Дэвидом Олсоном, где предпочтительной ссылкой является местоположение. Там имена немного устарели, но они помогут вам разобраться.
Найдите полный список доступных часовых поясов (не работает в окнах):
OlsonNames()
Для людей, работающих с окнами, что OlsonNames() не работает: Посмотрите полный список здесь.
Или читайте более подробно здесь http://www.twinsun.com/tz/tz-link.htm