Here is a cute little program that tests out one of the algorithm. Just Run it from your command window:
CLEAR
idays = 1
DO WHILE idays <> 29
tdate = DATE()+RAND()*10000
idays = DAY(GOMONTH(tDate - DAY(tDate)+1,1)-1)
? tdate, idays
ENDDO
Carole Shaw
Fred Hutchinson Cancer Research Center
Eagles may soar, but weasels don't get sucked into jet engines.