我有两个约会,我想找不到。这些日期之间的天数不包括星期日。我尝试使用bizdays(),但它似乎没有给出正确的输出。
这是我尝试过的。
library(bizdays)
#Dates are in Y-m-d format
Start_Date <- "2017-11-21"
End_Date <- "2017-12-03"
create.calendar("FOSCal", holidays = integer(0), weekdays = c("sunday"),
start.date = Start_Date, end.date = End_Date, adjust.from = adjust.none,
adjust.to = adjust.none)
FOS_Days <- as.integer(bizdays(Start_Date, End_Date, "FOSCal"))
这段代码给出的输出为10,而它应该给出11。我认为它与 EndDate 有关,因为它是星期天但不确定。谁能让我知道我在这里缺少什么?
答案 0 :(得分:0)
我们可以根据Start_Date
和End_Date
创建一个序列,使用`weekdays
函数获取工作日,然后排除星期日并计算序列的长度。以下代码显示答案是11。
# Create starting and ending dates
Start_Date <- "2017-11-21"
End_Date <- "2017-12-03"
# Create a date sequence
date_seq <- seq.Date(from = as.Date(Start_Date),
to = as.Date(End_Date),
by = 1)
# Get the weekday
weekday_seq <- weekdays(date_seq)
# Exclude Sunday and count the length
length(weekday_seq[!weekday_seq %in% "Sunday"])
# [1] 11