It is pretty simple to get number of work days between two dates. For example we can get the number of workdays in this month.
start_date = Date.civil(2010, 8, 1)
end_date = Date.civil(2010, 8, 31)
workdays = (start_date..end_date).select { |day| ![0, 6].include?(day.wday) }.size
Please note that this doesn’t include any check for holidays, you’ll need to figure that yourself (if you have need for that at all).
For more info see Array#select and Date#wday methods.
Does this include bank holidays in Croatia?
It’s not that smart
but some simple solution shouldn’t be hard to do.
holidays = [date1, date2, date3, ...]
!(holidays.include?(day) or [0, 6].include?(day.wday))
Very usefull, thanks for sharing