Sho*_*and 5 format timezone strftime posixct posixlt
我有一组来自美国各地的数据,我正在尝试将其转换为每个“主题”的当地时间。我对每个事件都有 UTC 时间戳,并将其转换为 POSIXct 格式,但每次我尝试在任何 POSIXct/POSIXlt 函数(包括和)中包含tz = DS$Factor或 的向量时,都会收到一条错误消息:tz = as.character(DS$Factor)format()strftime()
as.POSIXlt.POSIXct(x, tz = tz) 中的错误:无效的“tz”值
如果我只是输入tz = 'US/Eastern'它就可以正常工作,但当然并非我的所有值都来自该时区。
如何将每个“主题”的时间戳记为当地时间?
有DS$Factor5 个值:US/Arizona US/Central US/Eastern US/Mountain US/Pacific
谢谢,速记
因此,我能够创建一个 for 循环来执行此操作,但速度很慢,大约需要 10 分钟才能运行。我无法弄清楚apply()sytnax,并且肯定会感谢一些帮助,以创建一种更快、更可并行的方式来执行此操作,因为数据存储有 768k 观察值并且还在不断增长。
> require(lubridate)
>
> loct = NULL for (i in 1:nrow(DS))
> {
> loct[i] <- with_tz(DS$UTC[i],tzone =
> ifelse(DS$timezone[i]=="","US/Eastern",as.character(DS$timezone[i])))
> } DS$localtime <- as.POSIXct(loct, origin ="1970-01-01") remove (loct, i)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1649 次 |
| 最近记录: |