创建每天创建相同间隔的时间索引

run*_*fly 1 r posixct xts

我想制作一个时间指数,从9:15:00开始,并以30分钟的间隔进行,然后在03:30:00结束.例如9:15:00,10:05:00,10:55:00等等.这是我的代码,可以完美地创建第一天的这些时间指数.但是,它会在第二天搞砸,并在09:25:00而不是09:15:00开始,并且所有间隔都是错误的.开始时间每天都在变化.

Intervals <- seq(as.POSIXct("2016-04-01 09:15:00", format="%Y-%m-%d %H:%M:%S"), as.POSIXct("2016-04-29 15:30:00", format="%Y-%m-%d %H:%M:%S"),
                   by="50 min")
Run Code Online (Sandbox Code Playgroud)

正如我试图通过变化唯一的参数来计算不同的时间间隔by="50 min",例如以by="55 min"和需要灵活固定的结束时间,所以我把它当成15:30:00之前.请我解决它?

the*_*ail 6

你可能最好生成一个序列并在每天重复使用它.如此:

start <- "2016-04-01"
stop  <- "2016-04-29"
daylength <- difftime(as.POSIXct(stop), as.POSIXct(start), units="days")

Intervals <- seq(
  as.POSIXct(paste(start, "09:15")),
  as.POSIXct(paste(start, "15:30")),
  by="50 min"
)

out <- Intervals + as.difftime(rep(0:daylength, each=length(Intervals)), units="days")
range(out)
#[1] "2016-04-01 09:15:00 AEST" "2016-04-29 15:05:00 AEST"
Run Code Online (Sandbox Code Playgroud)

  • `as.POSIXct(...,tz ="insert_timezone_here")`为每个部分.在R中键入`OlsonNames()`并按Enter键以查看系统上可用的时区选项. (2认同)