posixct 无法及时正确读取
posixct cannot read in time correctly
我在 R 中遇到 PosiXct
的问题。
我在 GMT
中有纪元时间戳,正在尝试转换为 US/Eastern
。
当我从纪元转换为时间戳并指定 tz = "GMT"
时,R 将我的时间加了 4 个四,认为我正在从东方(我目前所在的位置)转换为 GMT
。
> data$Timestamp <- as.POSIXct((data$TIMESTAMP/1000), origin="1970-01-01",tz = "GMT")
> str(data)
'data.frame': 1353717 obs. of 2 variables:
$ TIMESTAMP : num 1.49e+12 1.49e+12 1.49e+12 1.49e+12 1.49e+12 ...
$ Timestamp : POSIXct, format: "2017-04-01 04:00:33" "2017-04-01 04:00:33" "2017-04-01 04:01:15" "2017-04-01 04:01:15" ...
当我试图强制 Timestamp
进入 US/Eastern
时,它会将其转换回 GMT
。我真的很困惑。谁能帮忙?
> attr(data$Timestamp,"tzone") <- "US/Eastern"
> str(data)
'data.frame': 1353717 obs. of 2 variables:
$ TIMESTAMP : num 1.49e+12 1.49e+12 1.49e+12 1.49e+12 1.49e+12 ...
$ Timestamp : POSIXct, format: "2017-04-01 00:00:33" "2017-04-01 00:00:33" "2017-04-01 00:01:15" "2017-04-01 00:01:15" ...
混淆是 R 认为原始数据在 US/Eastern
(我当前的时区),但它实际上在 GMT
,我正在尝试转换为 [=14] =].
我最终使用 lubridate
的 force_tz
强制 GMT,然后使用 format
将其设置为 US/Eastern
。哇,这比我想象的要多 complicated/annoying。
我在 R 中遇到 PosiXct
的问题。
我在 GMT
中有纪元时间戳,正在尝试转换为 US/Eastern
。
当我从纪元转换为时间戳并指定 tz = "GMT"
时,R 将我的时间加了 4 个四,认为我正在从东方(我目前所在的位置)转换为 GMT
。
> data$Timestamp <- as.POSIXct((data$TIMESTAMP/1000), origin="1970-01-01",tz = "GMT")
> str(data)
'data.frame': 1353717 obs. of 2 variables:
$ TIMESTAMP : num 1.49e+12 1.49e+12 1.49e+12 1.49e+12 1.49e+12 ...
$ Timestamp : POSIXct, format: "2017-04-01 04:00:33" "2017-04-01 04:00:33" "2017-04-01 04:01:15" "2017-04-01 04:01:15" ...
当我试图强制 Timestamp
进入 US/Eastern
时,它会将其转换回 GMT
。我真的很困惑。谁能帮忙?
> attr(data$Timestamp,"tzone") <- "US/Eastern"
> str(data)
'data.frame': 1353717 obs. of 2 variables:
$ TIMESTAMP : num 1.49e+12 1.49e+12 1.49e+12 1.49e+12 1.49e+12 ...
$ Timestamp : POSIXct, format: "2017-04-01 00:00:33" "2017-04-01 00:00:33" "2017-04-01 00:01:15" "2017-04-01 00:01:15" ...
混淆是 R 认为原始数据在 US/Eastern
(我当前的时区),但它实际上在 GMT
,我正在尝试转换为 [=14] =].
我最终使用 lubridate
的 force_tz
强制 GMT,然后使用 format
将其设置为 US/Eastern
。哇,这比我想象的要多 complicated/annoying。