/**********************************************************************/ data leaps; any=mdy(2,29,1994); mult4=mdy(2,29,1996); mult100=mdy(2,29,1900); mult400=mdy(2,29,2000); mult4000=mdy(2,29,8000); run; proc print data=leaps noobs width=min; title 'Is It a Leap Year?'; format _all_ worddate18.; run; /**********************************************************************/ data history; moonwalk=weekday('20jul1969'd); veday=weekday('08may1945'd); flight=weekday('17dec1903'd); usa200th=weekday('04jul1976'd); bigcrash=weekday('29oct1929'd); bullrun1=weekday('21jul1861'd); run; proc print data=history noobs; title 'Days of the Week for Historical Dates'; run; /**********************************************************************/ data endpoint; input start date9. @11 finish date9.; cards; 01jan1900 31dec1999 ; data mylib.randate(drop=i); set endpoint; range=finish-start; possible=range+1; do i=1 to 20; select=int(ranuni(31636)*possible)+start; output; end; run; proc print data=mylib.randate; title 'Twenty Randomly Generated Dates in 1900s'; format select worddate18.; run; /**********************************************************************/ data answers(drop=start finish range possible); set mylib.randate; day=weekday(select); run; proc print data=answers; title 'Days of Randomly Generated Dates'; format select weekdate29.; run; /**********************************************************************/