我有一个数据框,其中包含应该读入R的日期时间列。时间值显示为数字时间,如下面的数据示例所示。我想将它们转换为日期时间POSIXct或POSIXlt格式,以便可以查看日期和时间。
tdat <- c(974424L, 974430L, 974436L, 974442L, 974448L, 974454L, 974460L, 974466L, 974472L,
974478L, 974484L, 974490L, 974496L, 974502L, 974508L, 974514L, 974520L, 974526L,
974532L,974538L)
974424
应该等同于00:00:00 01/03/2011
,但是不知道数值的起源时间(即下面使用的1970-01-01不起作用)。我已经尝试使用如下所示的命令来实现这一点,并花时间尝试让as.POXISct
工作,但我还没有找到解决方案(即我最终得到了一个新的POS的POSIXct对象或最终具有模糊的日期时间值)。
尝试将数字时间转换为日期时间:
datetime <- as.POSIXct(strptime(time, format = "%d/%m/%Y %H:%M:%S"))
datetime <- as.POSIXct(as.numeric(time), origin='1970-01-01')
我确信这是一件简单的事情。任何帮助都会受到极大的欢迎。谢谢!
答案 0 :(得分:4)
根据您想要的时区尝试以下其中一项:
t.gmt <- as.POSIXct(3600 * (tdat - 974424), origin = '2011-03-01', tz = "GMT")
t.local <- as.POSIXct(format(t.gmt))