This should work, but I didn't test it <cffunction access="public" name="GetNthOccOfDayInMonth" output="No" returntype="any"> <!--- Args [ASR] ---> <cfargument name="NthOccurrence" required="" type=""> <cfargument name="TheDayOfWeek" required="" type=""> <cfargument name="TheMonth" required="" type=""> <cfargument name="TheYear" required="" type="">
<!--- Vars [ASR] ---> <cfset Var TheDayInMonth = 0> <cfset var myReturnVar = ""> <!--- Action Code [ASR] ---> <cfscript> if(Arguments.TheDayOfWeek lt DayOfWeek(CreateDate(Arguments.TheYear, Arguments.TheMonth,1))) { TheDayInMonth= 1 + Arguments.NthOccurrence*7 + (Arguments.TheDayOfWeek - DayOfWeek(CreateDate(Arguments.TheYear,Arguments.TheMonth,1))) MOD 7; } else { TheDayInMonth= 1 + (Arguments.NthOccurrence-1)*7 + (Arguments.TheDayOfWeek - DayOfWeek(CreateDate(Arguments.TheYear,Arguments.TheMonth,1))) MOD 7; } //If the result is greater than days in month or less than 1, return -1 if(TheDayInMonth gt DaysInMonth(CreateDate(TheYear,TheMonth,1)) OR TheDayInMonth lt 1) {myReturnVar = 1;} else {myReturnVar = TheDayInMonth;} </cfscript> <!--- Return value [ASR] ---> <cfreturn myReturnVar/> </cffunction> Enjoy =] On 10/26/05, Ken <[EMAIL PROTECTED]> wrote: > > Hi. I am new to CFC. Can someone help me convert this function from > cfscript > to CFML? > > <cfscript> > /** > * Returns the day of the month(1-31) of an Nth Occurrence of a day > (1-sunday,2-monday etc.)in a given month. > * > * @param NthOccurrence A number representing the nth occurrence.1-5. > * @param TheDayOfWeek A number representing the day of the week (1=Sunday, > 2=Monday, etc.). > * @param TheMonth A number representing the Month (1=January, 2=February, > etc.). > * @param TheYear The year. > */ > function > GetNthOccOfDayInMonth(NthOccurrence,TheDayOfWeek,TheMonth,TheYear) > { > Var TheDayInMonth=0; > if(TheDayOfWeek lt DayOfWeek(CreateDate(TheYear,TheMonth,1))){ > TheDayInMonth= 1 + NthOccurrence*7 + (TheDayOfWeek - > DayOfWeek(CreateDate(TheYear,TheMonth,1))) MOD 7; > } > else{ > TheDayInMonth= 1 + (NthOccurrence-1)*7 + (TheDayOfWeek - > DayOfWeek(CreateDate(TheYear,TheMonth,1))) MOD 7; > } > //If the result is greater than days in month or less than 1, return -1 > if(TheDayInMonth gt DaysInMonth(CreateDate(TheYear,TheMonth,1)) OR > TheDayInMonth lt 1){ > return -1; > } > else{ > return TheDayInMonth; > } > } > </cfscript> > > > Thanks, > > - Ken > > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| Discover CFTicket - The leading ColdFusion Help Desk and Trouble Ticket application http://www.houseoffusion.com/banners/view.cfm?bannerid=48 Message: http://www.houseoffusion.com/lists.cfm/link=i:4:222384 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 Donations & Support: http://www.houseoffusion.com/tiny.cfm/54