not thoroughly tested...

<cfscript>
        function getEveryNthDay(dow,nth,yy) {
                /**
                 * returns an array of dates containing every (nth) day of week 
for
a given year
                 *
                 * @param dow   the day of the week to return (integer...sunday 
= 1 /
saturday = 7)
                 * @param nth   every (nth) day of the week (integer...1-5 are 
valid
argument values)
                 * @param yy    the year to check
                 *
                 * @return an array of dates.
                 * @author Charlie Griefer ([EMAIL PROTECTED])
                 * @version 1.0, February 14, 2006
                 */
                var containerArray = arrayNew(1);
                
                var mm                  = "";
                var dd                  = "";
                var startDate   = "";
                var dateFound   = 0;
                
                if (val(dow) LT 1 OR val(dow) GT 7) {
                        return false;
                }
                
                for (mm=1; mm LTE 12; mm=mm+1) {
                        dateFound = 0;
                        for (dd=1; dd LTE daysInMonth(createDate(yy, mm, 1)); 
dd=dd+1) {
                                startDate = createDate(yy, mm, dd);
                                if (dayOfWeek(startDate) EQ dow) {
                                        dateFound = dateFound + 1;
                                        if (dateFound EQ nth) {
                                                arrayAppend(containerArray, 
startDate);
                                        }
                                }
                        }
                }
                
                return containerArray;
        }
</cfscript>

3rd friday of each month (tuesday = 6):
<br /><br />

<cfdump var="#getEveryNthDay(6, 3, 2006)#">


On 2/14/06, Emmet McGovern <[EMAIL PROTECTED]> wrote:
> I can't seem to wrap my head around this.   Does anyone know how you loop
> through every third Thursday of the month in a year or every second Tuesday
> and so on?
>
> Emmet
>
>
>
> 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Message: http://www.houseoffusion.com/lists.cfm/link=i:4:232206
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

Reply via email to