从开始时间到5分钟获取时间列表

时间:2015-09-17 20:08:58

标签: r

假设我现在有一个“结束时间”--20分钟

Sys.time()-20
"2015-09-17 13:06:45 CST"

我想生成一个向量,从“starttime”=“2015-09-17 10:00:00 CST”到5分钟桶结束的时间段,所以我要找的结果是:

10:05:00
10:10:00
10:15:00
....
....
11:00:00
11:05:00
11:10:00
....
....
13:00:00
13:05:00
你知道怎么做吗?

1 个答案:

答案 0 :(得分:1)

要结束此操作,seq是一个通用函数,它具有seq.POSIXct方法,因此可以在by语句中理解时间术语。

让我们说这些是你的starttimeendtime

(endtime <- Sys.time())
# [1] "2015-09-18 12:38:34 IDT"
(starttime <- endtime - 20*60)
# [1] "2015-09-18 12:18:34 IDT"

您只需在by = "5 mins"

中直接指定seq即可
seq(starttime, endtime, by = "5 mins")
# [1] "2015-09-18 12:18:34 IDT" "2015-09-18 12:23:34 IDT" "2015-09-18 12:28:34 IDT" "2015-09-18 12:33:34 IDT"
# [5] "2015-09-18 12:38:34 IDT"

或者对于精确输出,您可以使用format函数

修改输出
format(seq(starttime, endtime, by = "5 mins"), "%X")
# [1] "12:18:34" "12:23:34" "12:28:34" "12:33:34" "12:38:34"

JFI,R没有时间等级,而这只是一个字符串。如果您想使用此类,可以查看chron包。