假设我现在有一个“结束时间”--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
你知道怎么做吗?
答案 0 :(得分:1)
要结束此操作,seq
是一个通用函数,它具有seq.POSIXct
方法,因此可以在by
语句中理解时间术语。
让我们说这些是你的starttime
和endtime
(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
包。