Counting Business Days between Two Dates
To count business days between two dates (startdate and enddate), the following code can be used in a Special Browser script field that will populate a Calculated Value Custom Field with the number of business days between two given dates.
In the Special Browser script field you define the function that calculates the difference:
function bus_date_diff() { var frm=document.forms[0]; var formatdate="@dateformat@"; var start=ConvertDateStr(frm.startdate.value,formatdate); var end=ConvertDateStr(frm.enddate.value,formatdate); var diff=datediff(start,end, "D"); var i=0; var busdays=0; for(i=0;i<diff;i++) { var cdate=dateadd(start,'D',i); if(!isHoliday(cdate)) busdays++; } return busdays; }
In Expression section of the Calculated Value Custom Field you would call the function:
bus_date_diff()
Note: The function definition can be changed to accept parameters (fields containing dates) that are passed at the time of calling the function from any Calculated Value Custom Field.