从时间上减去分钟数(24小时格式)?

时间:2015-10-19 14:56:54

标签: r

想知道是否有人可以提供帮助

time <-c("16:09", "05:26", "08:47", "03:04", "03:07", "02:01")
min <-c(60, 5, 124, 35, 400, 2)

我想从矢量“time”的第n个元素中减去向量“min”的第n个元素提取修正时间。因此,例如,矢量“revised.time”的第一个元素在减去60分钟后应该是15.09。

提前致谢

A

3 个答案:

答案 0 :(得分:2)

这可以为您提供所需的信息,但您可能需要考虑一个专用软件包:

time <- c("16:09", "05:26", "08:47", "03:04", "03:07", "02:01")
min  <- c(60, 5, 124, 35, 400, 2)

format(strptime(time, "%M:%S") - min, "%M:%S")
# [1] "15:09" "05:21" "06:43" "02:29" "56:27" "01:59"

答案 1 :(得分:0)

你可以在lubridate

中做到这一点
library(lubridate)

hm(time) - new_period(minute = min)

答案 2 :(得分:0)

您需要先格式化时间向量。然后你可以这样减去秒:

time2<-strptime(time, "%H:%M")
time2[1]-(60*60)

[1] "2015-10-19 15:09:00 CEST"