CFLib.org – Common Function Library Project

GetLastOccOfDayInMonth(TheDayOfWeek, TheMonth, TheYear)

Last updated August 22, 2001
Download UDF

author

Ken McCafferty

Version: 1 | Requires: CF5 | 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:

<CFOUTPUT>
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:

/**
 * 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;
}
blog comments powered by Disqus

Search CFLib.org


Latest Additions

Mosh Teitelbaum added
minutesToUtcOffs...
17 days ago

Mosh Teitelbaum added
utcOffsetToMinut...
17 days ago

Hank van Empel added
validateIBAN
18 days ago

CF Ninja added
calcIRR
2 months ago

Stephen Withington added
getWeekOfMonth
2 months ago

Created by Raymond Camden / Design by Justin Johnson