汗颜,其实Crackman版主早就有答案了。
以下是更简单的程序
data a;
input x $10. @1 Date : anydtdte20.;
cards;
2010-1-10
2010-1-1
2010-01-1
2012-08-01
2012-08-1
2012/1/1
2011.01.5
2011.5.12
01/30/2011
05JUL2011
;
run;
data b;
set a;
y=input(x,anydtdte20.);
format y mmddyy10. date mmddyy10.;
run;
proc print data=b; run;