weeku=week(date,"u"),表示把每周的Sunday当作一周的开始,并且新一年的前几天和上一年在同一周,则新一年前几天按照0周看待,上一年的后几天当作52周;
weekv=week(date,"v"),表示把每周的Monday当作一周的开始,并且新一年的前几天和上一年在同一周,则新一年前几天和上一年的后几天当作53周;
weekw=week(date,"w"),表示把每周的Monday当作一周的开始,并且新一年的前几天和上一年在同一周,则新一年前几天按照0周看待,上一年的后几天当作52周;
样例:
data dateweek;
do n=20 to 31 by 1;
date1=mdy(12,n,2015);
format date1 mmddyy10.;
weeku=week(date1,"u");
weekv=week(date1,"v");
weekw=week(date1,"w");
output ;
end;
do i=1 to 31 by 1;
date2=mdy(01,i,2016);
format date2 mmddyy10.;
weeku1=week(date2,"u");
weekv1=week(date2,"v");
weekw1=week(date2,"w");
output ;
end;
drop i n;
run;
proc print data=dateweek;
run;