You don't seem to understand how dates and times work.
Dates are numbers of days. Datetime (and time) are numbers of seconds. If you just apply a datetime format to a value that is in days it will end up looking like some time early on the day 01JAN1960 since there are 86,000 seconds in a day.
You can use the DATEPART() and TIMEPART() function to extract the number of days or the seconds since midnight from a datetime value.
You can build a datatime value from a DATE value by using the DHMS() function. It takes 4 arguments,Days, Hours, MInutes, Seconds, but you really only need to give it the DAYS and SECONDS since you can give a number of seconds that is larger than 60.
7 data test ;
8 date="08APR1988"D;
9 datetime=dhms(date,0,0,0);
10 put 'RAW Values ' (date datetime) (= comma15.);
11 put 'Formatted Values ' date= date9. datetime= datetime20. ;
12 run;
RAW Values date=10,325 datetime=892,080,000
Formatted Values date=08APR1988 datetime=08APR1988:00:00:00
13 data test ;
14 date="08APR1988"D;
15 datetime=dhms(date,0,0,'08:20't);
16 put 'RAW Values ' (date datetime) (= comma15.);
17 put 'Formatted Values ' date= date9. datetime= datetime20. ;
18 run;
RAW Values date=10,325 datetime=892,110,000
Formatted Values date=08APR1988 datetime=08APR1988:08:20:00