如何找出R中不包括星期日的两个日期之间的差异

时间:2017-12-27 12:33:35

标签: r date bizdays

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

1 个答案:

答案 0 :(得分:0)

我们可以根据Start_DateEnd_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