使用strptime在R中转换时区

恩典

我的“日期/时间”字段的示例是:

2020-12-30T03:32:30.000Z

我希望将此时区转换为“ tz =新加坡”。当我执行这段代码时

geodf$time <- strptime(geodf$time, format = "%Y-%m-%dT%H:%M:%OS", tz="Singapore")

结果输出为:

“ 2020-12-30 03:32:30 +08”

所做的唯一更改是背面的附加标签(+08)。时间完全没有改变-我需要将时间更改为新加坡时间,而不仅仅是添加+08。

什么地方出了错?

伊恩·坎贝尔

Z你的时间指示时区为UTC。一种方法是使用类的对象POSIXct并更改时区:

geodf$time <- as.POSIXct(geodf$time,
                         format = "%Y-%m-%dT%H:%M:%OS", tz="UTC")
geodf
#                 time
#1 2020-12-30 03:32:30

attributes(geodf$time)$tzone <- "Singapore"
geodf
#                 time
#1 2020-12-30 11:32:30

样本数据:

geodf <- structure(list(time = "2020-12-30T03:32:30.000Z"),
                   class = "data.frame", row.names = c(NA, -1L))

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章