我想创建一个从开始日期到结束日期的分钟序列,但在输出中省略了星期六和星期日。
我可以创建序列,但不知道如何省略周六和周日。
并且也不希望输出中的秒部分以及"IST“部分。
seq.POSIXt( as.POSIXct( "2019/06/21"), as.POSIXct( "2019/06/30"), "min")
如果有任何其他函数或方法可以更快或更简单地完成这项工作,将不胜感激。提亚
发布于 2019-06-25 08:36:57
使用库timeDate会有所帮助:
library(timeDate)
have = seq.POSIXt( as.POSIXct( "2019/06/21"), as.POSIXct( "2019/06/30"), "min")
want = have[isWeekday(have)]
发布于 2019-06-25 08:41:23
在生成序列之后,您可以使用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")
https://stackoverflow.com/questions/56745353
复制相似问题