GetLastOccOfDayInMonth(TheDayOfWeek, TheMonth, TheYear)
Last updated August 22, 2001
Version: 1 | Requires: ColdFusion 5 | Library: DateLib
Description:
Returns the day of the month(1-31) of Last Occurrence of a day (1-sunday,2-monday etc.)
in a given month. Can be used to determine holidays or special events that occur on the last occurrence of a day in a month.
Return Values:
Returns a numeric value.
Example:
The last Monday in May of 2001 is on May #GetLastOccOfDayInMonth(2,5,2001)#.
</CFOUTPUT>
Parameters:
| Name | Description | Required |
|---|---|---|
| TheDayOfWeek | Ordinal value representing the desired day of the week (1-sunday,2-monday etc.) | Yes |
| TheMonth | Ordinal value representing the month (1-January, 2-February, etc.) | Yes |
| TheYear | The year. | Yes |
Full UDF Source:
<cfscript>
/**
* Returns the day of the month(1-31) of Last Occurrence of a day (1-sunday,2-monday etc.)
in a given month.
*
* @param TheDayOfWeek Ordinal value representing the desired day of the week (1-sunday,2-monday etc.)
* @param TheMonth Ordinal value representing the month (1-January, 2-February, etc.)
* @param TheYear The year.
* @return Returns a numeric value.
* @author Ken McCafferty (mccjdk@yahoo.com)
* @version 1.0, August 22, 2001
*/
function GetLastOccOfDayInMonth(TheDayOfWeek,TheMonth,TheYear)
{
//Find The Number of Days in Month
Var TheDaysInMonth=DaysInMonth(CreateDate(TheYear,TheMonth,1));
//find the day of week of Last Day
Var DayOfWeekOfLastDay=DayOfWeek(CreateDate(TheYear,TheMonth,TheDaysInMonth));
//subtract DayOfWeek
Var DaysDifference=DayOfWeekOfLastDay - TheDayOfWeek;
//Add a week if it is negative
if(DaysDifference lt 0){
DaysDifference=DaysDifference + 7;
}
return TheDaysInMonth-DaysDifference;
}
</cfscript>
Search CFLib.org
Latest Additions
Adam Cameron added
composeDateTime
16 day(s) ago
Chris Weller added
convertQueryStri...
a while ago
Greg Nettles added
arrayDiff
a while ago
Nathan Dintenfass added
ArrayOfStructsSo...
a while ago
Top Rated
backupDatabase
Rated 5.0, 36 time(s)
indentXml
Rated 5.0, 10 time(s)
deAccent
Rated 5.0, 6 time(s)
countArbitraryDa...
Rated 5.0, 5 time(s)