Calculate the number of working days between two dates

There are times when you require to work out the number of working days between two given dates. However, between those dates are non-working weekends and possibly holidays. The following code is useful if you want to create a form to find the actual working days.

Create a Form with the following Fields:

Fields required:

Date/Time type :- Start, EndDate, Hols (allow multi Values)

Number type computed:- Diff

In the computed value of the Diff field, place the following formula:

alldays:=@Explode(@TextToTime(@Text(start)+"-"+@Text(enddate))); tDays:=@Text(@Weekday(@texttotime(@trim(@replace(@text(alldays);@text(hols);NULL))))); @Elements(@Trim(@Replace(tdays;"1":"7";NULL)))

Put some default values into the date fields.

When you run the Form/Doc, enter a start date and endate. Add the holidays taken in the hols field separated by commas. Press F9 to refresh the formulas and the Diff field will display the number of working days between the start and Enddate minus the weekends and holidays.

This was first published in July 2001

Disclaimer: Our Tips Exchange is a forum for you to share technical advice and expertise with your peers and to learn from other enterprise IT professionals. TechTarget provides the infrastructure to facilitate this sharing of information. However, we cannot guarantee the accuracy or validity of the material submitted. You agree that your use of the Ask The Expert services and your reliance on any questions, answers, information or other materials received through this Web site is at your own risk.