对数据帧应用POSIXct



我有一个名为df的数据帧,就像这样

 id          time
 1        1392825600
 2        1392825597
 3        1392825587

where is time从UTC的epoch算起的时间(数据的本地时间为香港时区)

我想使用POSIXct

将其放入标准时间戳中例如

> test = as.POSIXct(1392825587, origin="1970-01-01", tz = "Hongkong")
> test
 [1] "2014-02-19 23:59:47 HKT"

但是当我想把它应用到我的数据帧时,这是我得到的:

df$TimeStamp = as.POSIXct(df$time, origin="1970-01-01", tz = "Hongkong")
 id          time        TimeStamp
 1        1392825600   2014-02-19 23:00:00
 2        1392825597   2014-02-19 22:59:57
 3        1392825587   2014-02-19 22:59:47  

所有东西都有一个小时的延迟,看起来使用的时区是我电脑的时区而不是香港的时区(我的时区与香港相差1小时)

试试这个:

format(as.POSIXct(df$time, origin="1970-01-01", tz = "UTC"),
       tz="Asia/Hong_Kong", usetz=TRUE)

相关内容

  • 没有找到相关文章

最新更新