我有一个开始日期时间和结束日期时间,我想创建一个在此范围内以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
依旧..........
非常感谢任何有关此任务的帮助。
答案 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
)