Using bizdays

You start by defining a Calendar object.

library(bizdays)
cal <- Calendar(holidaysANBIMA, weekdays=c('sunday', 'saturday'), dib=252)

where holidays is a sequence of dates which represents nonworking dates and the second argument, weekdays, is a sequence with nonworking weekdays, so what Calendar does is define gaps. holidays is a sequence of Date (or POSIX*) objects and weekdays must be a sequence of weekdays in words (lowercase).

Once you have instantiated a Calendar object you simply call bizdays function to get the amount of business days between 2 dates (or set of dates).

from_dates <- c('2013-07-12', '2012-06-13')
to_dates <- seq(as.Date('2014-02-17'), as.Date('2016-07-21'), by='months')
bizdays(from_dates, to_dates, cal)
##  [1]  153  442  194  483  234  526  276  570  321  613  364  655  404  695
## [15]  446  735  486  779  529  822  571  863  614  904  654  946  695  987
## [29]  738 1029

Why define weekdays?

I am frequently asked Why do I have to define weekdays? or even Shouldn't it be weekenddays instead?.

The reason I created weekdays: I want to provide a way to compute business days accordingly to any definition or satisfying any needs. In my world, the financial industry, weekends are nonworking days, but for those who work with events, for example, mondays migth be nonworking days.

weekdays defaults to NULL because I wanted the Calendar() call returned an Actual calendar. So calling Calendar(dib=365, name='Actual/365') returns an Actual/365 calendar.