整天的分钟顺序

时间:2019-06-25 00:20:48

标签: r

想要创建一个从开始日期到结束日期的分钟序列,但是在输出中省略了星期六和星期日。

我可以创建序列,但是不知道如何在周六和周日省略。

并且也不想在输出中包含秒部分以及“ IST”部分。

seq.POSIXt( as.POSIXct( "2019/06/21"), as.POSIXct( "2019/06/30"), "min")

如果有任何其他函数或方法可以更快或更简单地执行此操作,将不胜感激。 TIA

2 个答案:

答案 0 :(得分:1)

使用库timeDate可以帮助解决问题:

library(timeDate)

have = seq.POSIXt( as.POSIXct( "2019/06/21"), as.POSIXct( "2019/06/30"), "min")
want = have[isWeekday(have)]

答案 1 :(得分:0)

生成序列后,可以使用weekdays过滤掉星期六和星期日以外的日子,然后使用format过滤出所需格式的输出。

all_time <- seq.POSIXt( as.POSIXct( "2019/06/21"), as.POSIXct( "2019/06/30"), "min")
format(all_time[!weekdays(all_time) %in% c("Saturday", "Sunday")], "%Y-%m-%d %H:%M")
# [1] "2019-06-21 00:00" "2019-06-21 00:01" "2019-06-21 00:02" "2019-06-21 00:03" 
#     "2019-06-21 00:04" "2019-06-21 00:05" "2019-06-21 00:06" "2019-06-21 00:07" 
#     "2019-06-21 00:08" "2019-06-21 00:09" ......

@thelatemail指出weekdays是与语言环境相关的,如果您使用非英语语言环境,则以上内容将无效。相反,我们可以使用工作日删除周末。

format(all_time[!format(all_time, "%u") %in% c(6, 7)], "%Y-%m-%d %H:%M")