Ok,
Here it is...for everyone who need to find yesterday's date,
and only consider business days Monday through Friday. It's ugly
but it works...
It also deals with the month and year changes.
<!---Setting month day year variables--->
lets test this:
<cfset testmode = 0>
<cfif testmode EQ 1>
<cfset getmonth = "06">
<cfset getday = "02">
<cfset getyear = "08">
<cfset getyearAlt = "2008">
<cfset dateMasher = getmonth & getday &
getyearAlt>
<cfset setDayOfweek = dayofweek("2008-06-02
07:38:51")>
<cfelse>
<cfset getmonth = dateformat(now(), "mm")>
<cfset getday = dateformat(now(), "dd")>
<cfset getyear = dateformat(now(), "yy")>
<cfset getyearAlt = dateformat(now(), "yyyy")>
<cfset dateMasher = getmonth & getday &
getyearAlt>
<cfset setDayOfweek = dayofweek(now())>
</cfif>
<!---Now we are going to determine what yesterday's date
was using a series of if statements. We have to consider if it is
the new year or a now month and then set the yesterday's date to
either yesterday or to friday's date (if it is a monday)--->
<cfoutput>
#now()#<br />
#DateAdd('yyyy', -1, Now())#<br /><br />
total date: #datemasher#<br><br>
day of the week is: #setDayOfweek#<br><br>
Month: #getmonth#<br>
Day: #getday#<br>
Year: #getyear#<br>
<!---if year day is 1 and month is 1 then
date is 1231 and last year's year--->
<cfif testmode EQ 1>
<cfif setDayOfWeek EQ 2 AND getmonth EQ "01" and getday
EQ "01">
<cfset dateMasher = "1231" &
#dateformat(DateAdd('yyyy', -1, "2008-06-02 07:38:51"), "yy")#>
<cfelseif setDayOfWeek EQ 3 OR setDayOfWeek EQ 4 OR
setDayOfWeek EQ 5 OR setDayOfWeek EQ 6 AND getmonth EQ 1>
<cfset getmonth = #dateformat(dateadd("m", -1,
"2008-06-02 07:38:51"), "mm")#>
<cfset getday = #dateformat(dateadd("d", -1, "2008-06-02
07:38:51"), "dd")#>
<cfset getyear = #dateformat(dateadd("yyyy", -1,
"2008-06-02 07:38:51"), "yy")#>
<cfset dateMasher = getmonth & getday &
getyear>
</cfif>
mash the date: #dateMasher#
Month: #getmonth#<br>
Day: #getday#<br>
Year: #getyear#<br>
<!---<cfabort showerror="stopping here for
debugging">--->
<cfelse>
<cfif setDayOfWeek EQ 2 AND getmonth EQ "01" and getday
EQ "01">
<cfset dateMasher = "1231" &
#dateformat(DateAdd('yyyy', -1, now()), "yy")#>
<cfelseif setDayOfWeek EQ 3 OR setDayOfWeek EQ 4 OR
setDayOfWeek EQ 5 OR setDayOfWeek EQ 6 AND getmonth EQ 1>
<cfset getmonth = #dateformat(dateadd("m", -1, now()),
"mm")#>
<cfset getday = #dateformat(dateadd("d", -1, now()),
"dd")#>
<cfset getyear = #dateformat(dateadd("yyyy", -1, now()),
"yy")#>
<cfset dateMasher = getmonth & getday &
getyear>
</cfif>
</cfif>
<br /><br />
<!---if day of week is 2 and the day is the 1st of the
month
get get friday day value from last week.--->
<cfif testmode EQ 1>
<cfif setDayOfWeek EQ 2>
<cfif getday EQ "01" OR getday EQ "02" OR getday EQ
"03">
<cfset getday = dateformat(dateadd("d", -3, "2008-06-02
07:38:51"), "dd")>
<cfset getmonth = dateformat(dateadd("m", -1, "2008-06-02
07:38:51"), "mm")>
<cfelse>
<cfset getday = dateformat(dateadd("d", -3, "2008-06-02
07:38:51"), "dd")>
</cfif>
<cfelseif setDayOfWeek EQ 3 OR setDayOfWeek EQ 4 OR
setDayOfWeek EQ 5 OR setDayOfWeek EQ 6>
<cfif getday EQ "01">
<cfset getday = dateformat(dateadd("d", -1, "2008-06-02
07:38:51"), "dd")>
<cfset getmonth = dateformat(dateadd("m", -1, "2008-06-02
07:38:51"), "mm")>
<cfelse>
<cfset getday = dateformat(dateadd("d", -1, "2008-06-02
07:38:51"), "dd")>
</cfif>
</cfif>
<cfelse>
<cfif setDayOfWeek EQ 2>
<cfif getday EQ "01" OR getday EQ "02" OR getday EQ
"03">
<cfset getday = dateformat(dateadd("d", -3, now()),
"dd")>
<cfset getmonth = dateformat(dateadd("m", -1, now()),
"mm")>
<cfelse>
<cfset getday = dateformat(dateadd("d", -3, now()),
"dd")>
</cfif>
<cfelseif setDayOfWeek EQ 3 OR setDayOfWeek EQ 4 OR
setDayOfWeek EQ 5 OR setDayOfWeek EQ 6>
<cfif getday EQ "01">
<cfset getday = dateformat(dateadd("d", -1, now()),
"dd")>
<cfset getmonth = dateformat(dateadd("m", -1, now()),
"mm")>
<cfelse>
<cfset getday = dateformat(dateadd("d", -1, now()),
"dd")>
</cfif>
</cfif>
</cfif>
<cfset dateMasher = getmonth & getday &
getyear>
#dateMasher#<br />
</cfoutput>
PM me if you have any questions.