Dear All,
Sorry for the question - I did search the site and found a few bits but nothing that solved my problem (or maybe I'm just a bit slow.. :-)).
Essentially, I have two date/time fields in character format ($19) displayed as, for example, '2013-10-15T12:33'. I want to find the time difference in minutes between the two fields, e.g., one field is '2013-10-15T12:33', the other is '2013-10-15T12:35' = difference of 2 minutes. Any idea how to do this? I think part of the problem is that the variables are in char format and I can't seem to convert...
Any help is greatly appreciated
Thanks!
Use E8601DT informat.
data have ;
ct1='2013-10-15T12:33' ;
ct2='2013-10-15T12:35' ;
t1 = input(ct1,e8601dt.);
t2 = input(ct2,e8601dt.);
format t1 t2 e8601dt. ;
diff = (t2-t1) / 60 ;
put (_all_) (=/);
run;
ct1=2013-10-15T12:33
ct2=2013-10-15T12:35
t1=2013-10-15T12:33:00
t2=2013-10-15T12:35:00
diff=2
Use E8601DT informat.
data have ;
ct1='2013-10-15T12:33' ;
ct2='2013-10-15T12:35' ;
t1 = input(ct1,e8601dt.);
t2 = input(ct2,e8601dt.);
format t1 t2 e8601dt. ;
diff = (t2-t1) / 60 ;
put (_all_) (=/);
run;
ct1=2013-10-15T12:33
ct2=2013-10-15T12:35
t1=2013-10-15T12:33:00
t2=2013-10-15T12:35:00
diff=2
Thanks Tom - perfect - I owe you one...
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.