时区警告不会消失

timezone warning does not go away

有人问过类似的问题 here 但仍未得到答复,因此请不要 将其标记为重复。 问题是您分配时区的那一刻,例如tz="Asia/Kolkata" - 或任何其他时区(我尝试了其他几个时区,但都给出了相同的警告)。

as.POSIXct("2017-11-01 10:52", "%Y-%m-%d %H:%M", tz = "Asia/Kolkata")
Warning messages:
1: In strptime(x, format, tz = tz) :
  unknown timezone 'default/Asia/Kolkata'
2: In as.POSIXct.POSIXlt(as.POSIXlt(x, tz, ...), tz, ...) :
  unknown timezone 'default/Asia/Kolkata'
3: In as.POSIXlt.POSIXct(x, tz) : unknown timezone 'default/Asia/Kolkata'

我也试过使用 lubridate 包:

ymd(20171115,tz = "Asia/Kolkata")

# [1] "2017-11-15 IST"
Warning messages:
1: In as.POSIXlt.POSIXct(x, tz) : unknown timezone 'default/Asia/Kolkata'
2: In as.POSIXct.POSIXlt(lt) : unknown timezone 'default/Asia/Kolkata'
3: In as.POSIXlt.POSIXct(ct) : unknown timezone 'default/Asia/Kolkata'
4: In as.POSIXlt.POSIXct(x, tz) : unknown timezone 'default/Asia/Kolkata'

这似乎已经成为一种流行病。现在,即使采购我的干净代码也会发出许多警告 - 都是一样的。

有 50 个或更多警告(使用 warnings() 查看前 50 个)

> warnings()

Warning messages:
1: In as.POSIXlt.POSIXct(x, tz) : unknown timezone 'default/Asia/Kolkata'
2: In as.POSIXlt.POSIXct(x, tz) : unknown timezone 'default/Asia/Kolkata'
3: In as.POSIXlt.POSIXct(x, tz) : unknown timezone 'default/Asia/Kolkata'
4: In as.POSIXlt.POSIXct(x, tz) : unknown timezone 'default/Asia/Kolkata'
5: In as.POSIXlt.POSIXct(x, tz) : unknown timezone 'default/Asia/Kolkata'
6: In as.POSIXlt.POSIXct(x, tz) : unknown timezone 'default/Asia/Kolkata'
7: In as.POSIXlt.POSIXct(x, tz) : unknown timezone 'default/Asia/Kolkata'
8: In as.POSIXlt.POSIXct(x, tz) : unknown timezone 'default/Asia/Kolkata'
9: In as.POSIXlt.POSIXct(x, tz) : unknown timezone 'default/Asia/Kolkata

这里发生了什么?

我有一些问题,如果你在 High Sierra 上,它似乎是 OS HS 和 R 3.4.2 之间的一个错误,正如这个 post https://github.com/stan-dev/rstan/issues/455 按照说明(直到 R 3.4.3 最终发布)对我有用。我愿意:

Sys.setenv(TZ="Europe/Madrid")

现在我可以加载包并且没有消息弹出。希望对您有所帮助!

已编辑

R 3.4.3 已发布,问题已修复。