CFLib.org – Common Function Library Project

BusinessDaysAdd(date, number)

Last updated August 10, 2005
Download UDF

author

Billy Cravens                                     Billy Cravens

Version: 2 | Requires: ColdFusion 5 | Library: DateLib

 
Rated 5 time(s). Average Rating: 3.0

Description:
Allows you to only add business days to a date (in other words, it ignores weekends). Unlike dateAdd(), it only works with days.

Return Values:
Returns a date object.

Example:

<cfoutput>
Start date: #DateFormat(Now(), 'dddd mmmm dd, yyyy')#<br>
Minus 10 business days: #DateFormat(BusinessDaysAdd(Now(), -10), 'dddd mmmm dd, yyyy')#<br>
Minus 5 business days: #DateFormat(BusinessDaysAdd(Now(), -5), 'dddd mmmm dd, yyyy')#<br>
Minus 3 business days: #DateFormat(BusinessDaysAdd(Now(), -3), 'dddd mmmm dd, yyyy')#<br>
Minus 2 business days: #DateFormat(BusinessDaysAdd(Now(), -2), 'dddd mmmm dd, yyyy')#<br>
Minus 1 business day : #DateFormat(BusinessDaysAdd(Now(), -1), 'dddd mmmm dd, yyyy')#<br>
Plus 1 business day : #DateFormat(BusinessDaysAdd(Now(), 1), 'dddd mmmm dd, yyyy')#<br>
Plus 2 business days: #DateFormat(BusinessDaysAdd(Now(), 2), 'dddd mmmm dd, yyyy')#<br>
Plus 3 business days: #DateFormat(BusinessDaysAdd(Now(), 3), 'dddd mmmm dd, yyyy')#<br>
Plus 5 business days: #DateFormat(BusinessDaysAdd(Now(), 5), 'dddd mmmm dd, yyyy')#<br>
Plus 10 business days: #DateFormat(BusinessDaysAdd(Now(), 10), 'dddd mmmm dd, yyyy')#<br>
</cfoutput>

Parameters:

Name Description Required
date Date you want to add business days to. Yes
number Number of business days to add to date. Yes

Full UDF Source:

<cfscript>
/**
* Works just like dateAdd(), except it only adds business days
* Version 2 by Steven Van Gemert, svg2@placs.net
*
* @param date      Date you want to add business days to. (Required)
* @param number      Number of business days to add to date. (Required)
* @return Returns a date object.
* @author Billy Cravens (svg2@placs.netbilly@architechx.com)
* @version 2, August 10, 2005
*/

function businessDaysAdd(date,number) {
var cAdded = 0;
var tempDate = date;
var direction = compare(number,0);
while (cAdded LT abs(number)) {
    tempDate = dateAdd("d",direction,tempDate);
if (dayOfWeek(tempDate) GTE 2 AND dayOfWeek(tempDate) LTE 6) {
cAdded = incrementValue(cAdded);
}
}
return tempDate;
}
</cfscript>

Search CFLib.org


Latest Additions

Shawn Porter Shawn Porter added
DeMoronize
3 hour(s) ago

Chris Carey Chris Carey added
readPropertiesFi...
1 day(s) ago

Randy Johnson Randy Johnson added
lastDayofWeek
3 day(s) ago

Frank Marion Frank Marion added
sitemapPing
7 day(s) ago

Top Rated

James Sleeman                                     QuickSort
Rated 5.0, 3 time(s)

Barney Boisvert indentXml
Rated 5.0, 3 time(s)

Nathan Dintenfass                                 queryColumnsToSt...
Rated 5.0, 3 time(s)

Kevin Pepperman generateSsccAsn
Rated 5.0, 3 time(s)

Created by Raymond Camden / Design by Justin Johnson