FUNCTION DOW,mon,day,year,NUM=num ;+ ;d=DOW(mon,day,year) or d=DOW(JulianDay) returns the day of the week ;for the specified date. The input can be input either in the form of ;mon,day,year or as the integer representing the Julian date. A vector ;of dates can be given in the Julian integer form. ; ;KEYWORDS: ;NUM Set /NUM if you want the day to be returned as an integer ;rather than as a string. 0='Sun', 1='Mon', etc. ; ;EXAMPLES ;print,DOW(7,4,1776) prints Thu ;print,DOW(2452276) prints Tue ;print,DOW(julday(12,30,1994)+Indgen(5)) prints Fri Sat Sun Mon Tue ;print,DOW(julday(12,30,1994)+Indgen(5),/NUM) prints 5 6 0 1 2 ; ;SEE Also JULDAY, CALDAT, SYSTIME ; ;HISTORY ;Written by H. Rhody ;January 3, 2002 ;- base_day=2449719 ;January 1, 1995, a Sunday days=['Sun','Mon','Tue','Wed','Thu','Fri','Sat'] np=n_params() IF NP EQ 1 THEN BEGIN d=(mon-base_day) MOD 7 n=Where(d LT 0) IF Min(n) GE 0 THEN d[n]=7+d[n] IF KEYWORD_SET(num) THEN RETURN,d ELSE RETURN,days[d] ENDIF IF NP EQ 3 THEN BEGIN d=(Julday(mon,day,year)-base_day) MOD 7 IF d LT 0 THEN d=7+d IF KEYWORD_SET(num) THEN RETURN,d ELSE RETURN,days[d] ENDIF MESSAGE,'Incorrect number of arguments' RETURN,-1 END