Adapt the number so that it fits the time. informat, and use the index() function to determine pm and am. Set the hour either by adding 12*360, or use the intnx() function:
data want;
input timestr $25.;
time_num = input(substr(timestr,1,2) !! ':' !! substr(timestr,3,2),time5.);
if index(timestr,'pm') > 0 then time_num = intnx('hour',time_num,12,'s');
format time_num time8.;
cards;
0233 This is am
0233 This is pm
;
run;
Adapt the number so that it fits the time. informat, and use the index() function to determine pm and am. Set the hour either by adding 12*360, or use the intnx() function:
data want;
input timestr $25.;
time_num = input(substr(timestr,1,2) !! ':' !! substr(timestr,3,2),time5.);
if index(timestr,'pm') > 0 then time_num = intnx('hour',time_num,12,'s');
format time_num time8.;
cards;
0233 This is am
0233 This is pm
;
run;
Thanks KurtBremser, it works.
Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!
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.