时区的东西可以驱动你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'
有一天我发现通过设置 tzoptions()
环境变量不够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"