我有一个名为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)