So make a datetime value and use DIF() function to see how it changes from observation to observation.
data want ;
set have ;
datetime=dhms(date,0,0,time);
format datetime datetime20.;
if _N_=1 then cum_time=time;
cum_time + dif(datetime);
format cum_time hhmm.;
run;
Obs date TIME datetime cum_time
1 09/29/2019 21:00:00 29SEP2019:21:00:00 21:00
2 09/30/2019 9:00:00 30SEP2019:09:00:00 33:00
3 09/30/2019 13:00:00 30SEP2019:13:00:00 37:00
4 09/30/2019 17:00:00 30SEP2019:17:00:00 41:00
or just remember the start datetime and subtract to find the elapsed time. You can convert a time value to hours by dividing by the number of seconds in one hour.
data want ;
set have ;
if _N_=1 then start=dhms(date,0,0,0);
retain start;
cum_time = dhms(date,0,0,time)-start;
cum_hours = cum_time / '1:00't ;
format cum_time hhmm.;
format start datetime20.;
run;
cum_
Obs date TIME start cum_time hours
1 09/29/2019 21:00:00 29SEP2019:00:00:00 21:00 21
2 09/30/2019 9:00:00 29SEP2019:00:00:00 33:00 33
3 09/30/2019 13:00:00 29SEP2019:00:00:00 37:00 37
4 09/30/2019 17:00:00 29SEP2019:00:00:00 41:00 41
... View more