Here is one way:
options datestyle=dmy;
data have;
informat Start_date $30.;
input Start_date &;
cards;
11/1/2009 0:00:00
4/2/2009 0:00:00
26/1/2009 0:00:00
26/11/2009 0:00:00
26/11/2009 12:00:00 AM
1/11/2009 0:00:00
1/11/2009 12:00:00 AM
;
data want (drop Start_date_in);
set have (rename=(Start_date=Start_date_in));
format Start_date mmddyy10.;
Start_date=input(scan(Start_date_in,1,' ','r'), ddmmyy10.);
run;
I would have thought one could do it by inputting the entire datetime string, and using the anydtdtm informat, but it didn't work correctly for the 3rd from the last record.