posixct无法及时正确阅读

时间:2018-02-23 20:47:46

标签: r posixct

我在R. PosiXct遇到问题 我在GMT中有时间戳,我正在尝试转换为US/Eastern

当我从epoch转换为时间戳并指定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,而我正在尝试转换到US/Eastern

1 个答案:

答案 0 :(得分:0)

我最终使用lubridate的{​​{1}}来强制使用GMT,然后使用force_tz来获取format。哇,这比我想象的更复杂/烦人。