Guide
We recommend choosing one of the two workarounds: using API or Formulas.
Using API
We recommend using Working Days API.
This would allow you to create formula functions for calculating working hours or days between two dates. It would be also helpful for resource and capacity planning by calculating an end date based on a required number of hours or days.
It includes information on public holidays (by country and region), which is very helpful for remote teams.
Also, it supports customization options, so you can choose to deviate from the standard for your country or region. At the moment, it seems like customization is best done via the web interface (e.g. working days in Greece).
Using Formulas
There is also a way to distinguish between business days and holidays using Formulas.
Note that it won't help to distinguish public holidays in your country.
Here is how a Working Days Formula might look:
((ToDays(Dates.End() - Dates.Start()) + IsoWeekDay(Dates.Start()) - IsoWeekDay(Dates.End())) * 5) / 7 +
Least(IsoWeekDay(Dates.End()), 5) - Least(IsoWeekDay(Dates.Start()), 6) + 1
Note: it assume that you have a date range field called Dates, but you might need to change the formula to match your specific case.
Example
This was implemented in our Vacation Pro template which Fibery team uses on a daily basis.
Check this video from 16:51 - here starts the part that explains how to exclude weekends using Formula.
https://youtu.be/UC0hZZVxbJI?feature=shared
For a full understanding, we recommend checking the whole video.