@Patrick Hello, Thank you for your input. Yes, I am using the exact code that I posted. -I copied and pasted the code: data have;
input date $ time $;
put time;/*display time in the log*/
datalines;
20171102 0024
20171212 1124
20170708 1020
20170808 0030
;
run;
data want;
set have;
sdate=input(date,yymmdd10.);
stime=input(put(input(time,4.),z4.),hhmmss8.);
datetime=put(dhms(sdate,0,0,stime),DATETIME.);
put stime;/*display stime in the log*/
run; -The log looks like this: 3845 data have; 3846 input date $ time $; 3847 put time; /*display time in the log*/ 3848 datalines; 0024 1124 1020 0030 NOTE: The data set WORK.HAVE has 4 observations and 2 variables. NOTE: DATA statement used (Total process time): real time 0.00 seconds cpu time 0.00 seconds 3853 ; 3854 3855 run; 3856 3857 3858 3859 data want; 3860 set have; 3861 sdate=input(date,yymmdd10.); 3862 stime=input(put(input(time,4.),z4.),hhmmss8.); 3863 datetime=put(dhms(sdate,0,0,stime),DATETIME.); 3864 put stime; /*display stime in the log*/ 3865 run; 86400 41040 37200 108000 NOTE: There were 4 observations read from the data set WORK.HAVE. NOTE: The data set WORK.WANT has 4 observations and 5 variables. NOTE: DATA statement used (Total process time): real time 0.00 seconds cpu time 0.01 seconds I do find that when I view "Have" in the excel file, it appears like this: date time 20171102 24 20171212 1124 20170708 1020 20170808 30 The leading zero disappears and I think this is why the resulting stime is 86400 (from reading time as 24:00) for the first row. Do you know what might have gone wrong?
... View more