2

我有这样的日期输入(目前作为字符类):

input=c("2013-05-08 11:20:10", "2013-05-08 11:21:09")

并希望有这样的输出:

output=c(127.472338, 127.473032)

这是自起源 (2013-01-01 00:00:00) 以来的时间,以天和秒为单位。

以前,我使用输出格式的数据并使用以下方法将其重新转换为输入格式:

temp=as.POSIXlt(output*24*3600,origin='2013-01-01 00:00:00', tz="Etc/GMT+0")

如何重写它以获得所需的输出?提前致谢。

4

1 回答 1

4

使用difftime(或-):

> difftime(as.POSIXct(input), as.POSIXct("2013-01-01"))
Time differences in days
[1] 127.4307 127.4314
> as.POSIXct(input) - as.POSIXct("2013-01-01")
Time differences in days
[1] 127.4307 127.4314
于 2015-09-02T11:57:38.617 回答