hora formato fecha factor day r timezone strptime

formato - posixct to date r



Nombre de zona horaria desconocido en R strptime/as.POSIXct (4)

¿Dónde puedo encontrar una lista de todos los nombres de hora legales para la función R as.POSIXct ?

as.POSIXct("1970-01-01",tz="CST") genera una advertencia de que "CST" (Hora estándar central) es desconocida.


La mayoría de las plataformas R utilizan la base de datos de zona horaria compilada por David Olson, donde la referencia preferida es por ubicación. Los nombres están un poco desactualizados pero te ayudarán a ponerte en marcha.

Encuentre una lista completa de las zonas horarias disponibles (no funciona en Windows):

OlsonNames()

Para la gente que ejecuta Windows que OlsonNames () no funciona: vea la lista completa aquí .

O lea más detalladamente aquí http://www.twinsun.com/tz/tz-link.htm


Las cosas de la zona horaria pueden conducir NUTS !!

Al estar ubicado en Alemania, esto es lo que solía hacer para configurar mi tz:

> options(tz="Europe/Berlin")

Al hacerlo, siempre me pregunté por qué R lanzaría advertencias de "zona horaria desconocida":

> 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''

Algún día descubrí que establecer tz a través de options() no era suficiente ya que la variable de entorno TZ no se ve afectada y, por lo tanto, todo el problema:

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

Cambiar esto debería eliminar las desagradables advertencias:

> 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"


No lo pude encontrar en esa ubicación en mi marca pero encontré una versión comprimida en un directorio de origen. Aquí hay una lista de las abreviaturas de zona horaria que aparecen en el nivel superior del archivo 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

También hay carpetas con nombres de países / continentes, que tienen más opciones, como el ejemplo anterior de America/New_York :

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

Esto se encontró en el archivo /R-2.11.1/src/extra/tzone/zoneinfo.zip .


?Sys.timezone tiene algunas sugerencias, específicamente para buscar en: "R_HOME/share/zoneinfo/zone.tab" ( R_HOME es el directorio en el que R está instalado). Tenga en cuenta que las zonas horarias son desagradables y muchos de sus matices son específicos del sistema operativo (y la ubicación).

En su caso específico, desea "CST6CDT" lugar de "CST" .