使用R将字符转换为datetime

时间:2015-09-15 11:10:28

标签: r datetime

从R加载表后,我需要转换有用数据中的几个变量。 假设我要更改名称的列是mydata[[2]][6]。 此列表包含char数据,例如"42255.7298611111",根据Openoffice,该值对应08/09/2015 17:31:00

据我所见,在mydata[[2]][3]等其他变量中,数据仅适用于日期,数据"42260"只需使用以下内容即可轻松转换为09/14/2015

mydata[[2]][3]  <- list(as.Date(strtoi(unlist(mydata[[2]][3])), origin="1900-01-01"))

有关如何解决日期时间问题的任何猜测?

先谢谢了! :)

1 个答案:

答案 0 :(得分:1)

我这里没有办公室,所以我改用excel。

您可以使用以下功能:

function(t) as.POSIXct((t-1)*86400, origin="1900-01-01", tz="GMT")

(t-1是因为excel似乎认为是origin=1900-01-00,但是在R中不允许这样做,86400是as.POSIXct一天中的秒数,因为起源为参数。

然而,这将导致错误一天,我认为我已经追踪到第60天(根据excel是1900-02-29,但据我所知,1900年不是闰年)。为了解决这个问题,我猜你可以改为使用t-2(至少如果你不关心旧的日期)。