0

我有两个约会,但我想找没有。这些日期之间的天数,不包括星期日。我使用 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有关,因为它是星期日,但不确定。谁能让我知道我在这里缺少什么?

4

1 回答 1

0

我们可以基于Start_Dateand创建一个序列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
于 2017-12-27T12:41:24.910 回答