首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R不再接受GMT+n/GMT格式的时区。

R不再接受GMT+n/GMT格式的时区。
EN

Stack Overflow用户
提问于 2015-10-13 19:18:51
回答 1查看 2.7K关注 0票数 2

?timezones状态"Most platforms support time zones of the form GMT+n and GMT-n, which assume at a fixed offset from UTC (hence no DST)."

我有今年早些时候使用tz="GMT-8"的旧代码。只有对我的计算机的更改才会更新为R版本"R version 3.2.2 (2015-08-14)",并通过向位于"C:\Program Files\R\R-3.2.2\library\base\R"中的Rprofile添加一行代码从旧用户帐户迁移我的库。更详细的代码是.libPaths(c("C:/Users/XXXX XXXX/Documents/R/win-library/3.2",.Library.site))。为什么我的系统突然不接受这种tz格式?我可以更改什么系统设置来解决这个问题?

下面的工作示例.

代码语言:javascript
复制
tdat<-c("11/19/2014 12:45", "11/19/2014 13:00", "11/19/2014 13:15", 
"11/19/2014 13:30", "11/19/2014 13:45", "11/19/2014 14:00", "11/19/2014 14:15", 
"11/19/2014 14:30", "11/19/2014 14:45", "11/19/2014 15:00")

as.POSIXct(strptime(tdat,"%m/%d/%Y %H:%M",tz="GMT-8"))

Warning messages:
1: In strptime(tdat, "%m/%d/%Y %H:%M", tz = "GMT-8") :
  unknown timezone 'GMT-8'
2: In as.POSIXct.POSIXlt(strptime(tdat, "%m/%d/%Y %H:%M", tz = "GMT-8")) :
  unknown timezone 'GMT-8'
3: In as.POSIXlt.POSIXct(x, tz) : unknown timezone 'GMT-8'
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-14 16:15:43

如果您的平台使用的是标准的tzdb时区,那么您确实可以在表单Etc/GMT+8中指定固定的全时区域。

但是,请注意:

  • 这个标志和你所期望的完全相反。Etc/GMT-8在中国报道。Etc/GMT+8在美国。
  • 有很多真实世界的时区使用半小时或45分钟的偏移量,它们不能用这种形式表示。
  • 这不考虑夏令时或时区的其他历史变化。

因此,更好的想法是使用命名时区,如找到的这里

例如,对于美国太平洋时间,请使用America/Los_Angeles,因为它正确地解释了夏时制时间,在UTC-8和UTC-7之间交替使用。

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33110868

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档