我有一个名为df的数据框
id time
1 1392825600
2 1392825597
3 1392825587
其中是UTC时代以来的时间秒数(数据的当地时间是香港时区)
我想使用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小时的延迟,看起来所用的时区是我的电脑而不是香港电脑(我的时区与香港的1小时差价)
答案 0 :(得分:0)
试试这个:
format(as.POSIXct(df$time, origin="1970-01-01", tz = "UTC"),
tz="Asia/Hong_Kong", usetz=TRUE)