如何在R中的日期时间范围内创建日期时间向量并运行MM:SS计数向量

时间:2017-09-06 11:00:24

标签: r datetime count

我有一个开始日期时间和结束日期时间,我想创建一个在此范围内以1秒为间隔运行的日期时间向量。我还想创建一个MM:SS格式的第二列,从00:00开始计时。

示例:

df = structure(list(Starttime = "07/04/17 13:04:11", Endtime = "07/04/17 13:12:34"), .Names = c("Starttime", 
"Endtime"), class = "data.frame", row.names = c(NA, -1L))

期望的输出:

Datetime    Second_count
07/04/17 13:04:11   00:00
07/04/17 13:04:12   00:01
07/04/17 13:04:13   00:02
07/04/17 13:04:14   00:03
07/04/17 13:04:15   00:04
07/04/17 13:04:16   00:05

依旧..........

非常感谢任何有关此任务的帮助。

1 个答案:

答案 0 :(得分:3)

这是我的lubridate解决方案:

library(lubridate)

int <- interval(start = dmy_hms(df$Starttime), 
                end = dmy_hms(df$Endtime))

seq <- seq(dmy_hms(df$Starttime), dmy_hms(df$Endtime), "sec")

sec <- seconds_to_period(seq_along(seq) - 1)

sec <- sprintf('%02d:%02d', minute(sec), second(sec))

final <- data.frame(
  Datetime = seq, 
  Second_count = sec
)